RealHAZZARD
Erfahrenes Mitglied
THX
Ok. Leuchtet mir alles ein. Aber an einer Stelle steh ich trotzdem aufm
Schlauch:
WIe bringe ich das auf einen Nenner, wenn ich den Renderer das extends JLabel
anhänge?
Wenn ich es so schreibe(Was mir ohnehin schon flasch erscheint):
Kommt das:
The left-hand side of an assignment must be a variable
Und hier noch mal der ganze Code:
Ok. Leuchtet mir alles ein. Aber an einer Stelle steh ich trotzdem aufm
Schlauch:
Code:
JLabel label=JLabel(ic);
anhänge?
Wenn ich es so schreibe(Was mir ohnehin schon flasch erscheint):
Code:
this=(JLabel)t;
The left-hand side of an assignment must be a variable
Und hier noch mal der ganze Code:
Code:
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.File;
import javax.swing.Icon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.filechooser.FileSystemView;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
public class Tab {
class IconRenderer extends JLabel implements TableCellRenderer
{
public Component getTableCellRendererComponent(JTable tabelle,
Object t,
boolean isSelected,
boolean hasFocus,
int row,
int column)
{
this.add((JLabel)t);
if (tabelle.getSelectedRow()==row)
{
}
return this;
}
}
public void GUI()
{
JFrame fenster = new JFrame();
JScrollPane pane = new JScrollPane();
Object[] head=new Object[]
{
"Name",
"Pfad",
"Typ",
"Relevanz",
"Größe",
"Datum"
};
DefaultTableModel model = new DefaultTableModel(head,0);
final JTable tabelle = new JTable(model);
fenster.getContentPane().setLayout(new FlowLayout());
pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
pane.setViewportView(tabelle);
fenster.getContentPane().add(pane);
fenster.setSize(300,325);
fenster.setLocation(200,200);
tabelle.setAutoResizeMode(tabelle.AUTO_RESIZE_OFF);
tabelle.setAutoscrolls(true);
tabelle.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
tabelle.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent me) {
//für den Rechtsklick
if (me.getButton()==MouseEvent.BUTTON3)System.out.println("jo");
//Für den Linksklick
if (me.getButton()==MouseEvent.BUTTON1)
{
}
}
public void mouseEntered(MouseEvent me) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent me) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent me) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent me) {
// TODO Auto-generated method stub
}
});
int i=0;
tabelle.setShowGrid(false);
FileSystemView fsv=FileSystemView.getFileSystemView();
Icon ic = fsv.getSystemIcon(new File("datei"));
fenster.show();
for (;i<32;i++)
{
JLabel label1 = new JLabel(ic);
label1.setText("Test");
label1.setFont(tabelle.getFont());
JLabel label2 = new JLabel("TestPfad");
label2.setFont(tabelle.getFont());
JLabel label3 = new JLabel("TestTyp");
label3.setFont(tabelle.getFont());
JLabel label4 = new JLabel("TestRel"+i);
label4.setFont(tabelle.getFont());
JLabel label5 = new JLabel("TestGröße");
label5.setFont(tabelle.getFont());
JLabel label6 = new JLabel("TestDatum");
label6.setFont(tabelle.getFont());
Object[] entry=new Object[]
{
label1,
label2,
label3,
label4,
label5,
label6
};
model.addRow(entry);
}
tabelle.getColumn("Name").setCellRenderer(
new IconRenderer()
);
tabelle.getColumn("Pfad").setCellRenderer(
new IconRenderer()
);
tabelle.getColumn("Typ").setCellRenderer(
new IconRenderer()
);
tabelle.getColumn("Relevanz").setCellRenderer(
new IconRenderer()
);
tabelle.getColumn("Größe").setCellRenderer(
new IconRenderer()
);
tabelle.getColumn("Datum").setCellRenderer(
new IconRenderer()
);
}
public static void main(String[] args)
{
Tab t =new Tab();
t.GUI();
}
}
Zuletzt bearbeitet: