import javax.swing.BorderFactory;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.table.*;
public class NewJFrame extends javax.swing.JFrame
{
private JButton jButton1;
private JScrollPane jScrollPane1;
static JTable jTable1;
private JButton jButton4;
private JButton jButton3;
private JTextField rufnummer;
private JTextField einsatzort;
private JTextField bemerkung;
private JButton jButton2;
private JCheckBox jCheckBox1;
private JTextField techniker;
private JButton jButton5;
public static int ansicht = 1;
public static void main(String[] args) throws Exception
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
NewJFrame inst = new NewJFrame();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public NewJFrame()
{
super();
initGUI();
}
private void seite2_laden()
{
// Inhalt leeren
DefaultTableModel dm = (DefaultTableModel) NewJFrame.jTable1.getModel();
// dm.getDataVector().removeAllElements();
NewJFrame.jTable1.repaint();
// Neue Köpfe hinzufügen
((DefaultTableModel) jTable1.getModel()).addColumn(" Firma");
((DefaultTableModel) jTable1.getModel()).addColumn(" Rufnummer");
((DefaultTableModel) jTable1.getModel()).addColumn(" Name");
((DefaultTableModel) jTable1.getModel()).addColumn(" Bemerkung");
// Alte Köpfe entfernen
TableColumn tcol = jTable1.getColumnModel().getColumn(4);
jTable1.removeColumn(tcol);
tcol = jTable1.getColumnModel().getColumn(3);
jTable1.removeColumn(tcol);
tcol = jTable1.getColumnModel().getColumn(2);
jTable1.removeColumn(tcol);
tcol = jTable1.getColumnModel().getColumn(1);
jTable1.removeColumn(tcol);
// Neue Köpfe aufwerten
jTable1.getColumn(" ID").setMinWidth(0);
jTable1.getColumn(" ID").setMaxWidth(0);
TableColumn column = null;
column = jTable1.getColumnModel().getColumn(1);
column.setPreferredWidth(120);
column = jTable1.getColumnModel().getColumn(2);
column.setPreferredWidth(137);
column = jTable1.getColumnModel().getColumn(3);
column.setPreferredWidth(148);
column = jTable1.getColumnModel().getColumn(4);
column.setPreferredWidth(105);
jTable1.setBackground(new java.awt.Color(255, 204, 0));
// Eingabefelder anpassen
//techniker.setBounds(12, 57, 120, 21);
//rufnummer.setBounds(132, 57, 137, 21);
//einsatzort.setBounds(269, 57, 148, 21);
techniker.setPreferredSize(new Dimension(120, 21));//So legt man die bevorzugte Größe einer Komponente fest
rufnummer.setPreferredSize(new Dimension(137, 21));//So legt man die bevorzugte Größe einer Komponente fest
einsatzort.setPreferredSize(new Dimension(148, 21));//So legt man die bevorzugte Größe einer Komponente fest
/*techniker.setMinimumSize(new Dimension(120, 21));
rufnummer.setMinimumSize(new Dimension(137, 21));
einsatzort.setMinimumSize(new Dimension(148, 21));
techniker.setMaximumSize(new Dimension(120, 21));
rufnummer.setMaximumSize(new Dimension(137, 21));
einsatzort.setMaximumSize(new Dimension(148, 21));*/
this.pack();//Damit alle Komponent neu ausgelegt werden.
this.repaint();//Fenster neu zeichnen lassen.
}
private void initGUI()
{
try
{
GroupLayout thisLayout = new GroupLayout(
(JComponent) getContentPane());
getContentPane().setLayout(thisLayout);
getContentPane().setBackground(new java.awt.Color(255, 204, 0));
this.setTitle("Techniker");
{
jButton1 = new JButton();
jButton1.setText("Exit");
}
{
jScrollPane1 = new JScrollPane();
jScrollPane1.setBorder(new LineBorder(new java.awt.Color(0, 0,
0), 1, false));
{
TableModel jTable1Model = new DefaultTableModel(
new String[][]{},
// Tabellenkopf
new String[]{" ID", " Techniker", " Rufnummer",
" Einsatzort", " Premium"});
jTable1 = new JTable(jTable1Model)
{
public boolean isCellEditable(int rowIndex,
int vColIndex)
{
return false;
}
public Component prepareRenderer(
TableCellRenderer renderer, int row, int column)
{
Component c = super.prepareRenderer(renderer, row,
column);
((DefaultTableCellRenderer) renderer)
.setHorizontalAlignment(SwingConstants.LEFT);
if (column == 4)
{
((DefaultTableCellRenderer) renderer)
.setHorizontalAlignment(SwingConstants.CENTER);
}
return c;
}
};
// Nur ein Feld darf gleichzeitig anklickbar sein
jTable1
.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// Spalte ID ausblenden
jTable1.getColumn(" ID").setMinWidth(0);
jTable1.getColumn(" ID").setMaxWidth(0);
// Linksbündiger Header
JTableHeader header = jTable1.getTableHeader();
header.setBackground(new java.awt.Color(212, 208, 200));
((DefaultTableCellRenderer) header.getDefaultRenderer())
.setHorizontalAlignment(JLabel.LEFT);
jScrollPane1.setViewportView(jTable1);
jTable1.setModel(jTable1Model);
// Padding-Left: 5px
jTable1.getColumnModel().setColumnMargin(5);
// Nicht automatisch resizen
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// User darf nicht resizen
jTable1.getTableHeader().setResizingAllowed(false);
// User darf Spalte nicht verschieben
jTable1.getTableHeader().setReorderingAllowed(false);
// Breiten festlegen
TableColumn column = null;
column = jTable1.getColumnModel().getColumn(1);
column.setPreferredWidth(150);
column = jTable1.getColumnModel().getColumn(2);
column.setPreferredWidth(137);
column = jTable1.getColumnModel().getColumn(3);
column.setPreferredWidth(148);
column = jTable1.getColumnModel().getColumn(4);
column.setPreferredWidth(75);
jTable1.setBackground(new java.awt.Color(255, 204, 0));
}
}
{
bemerkung = new JTextField();
}
{
jButton5 = new JButton();
jButton5.setText("Rufnummern");
jButton5.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (ansicht == 1)
{
jButton5.setText("Disponenten");
setTitle("Rufnummern");
ansicht = 2;
// Rufnummern init
seite2_laden();
}
else if (ansicht == 2)
{
jButton5.setText("Techniker");
setTitle("Disponenten");
ansicht = 3;
// Disponenten Init (fehlt noch)
}
else if (ansicht == 3)
{
jButton5.setText("Rufnummern");
setTitle("Techniker");
ansicht = 1;
// Techniker init (fehlt noch)
}
}
});
}
{
jButton4 = new JButton();
jButton4.setText("Clear");
}
{
jButton3 = new JButton();
jButton3.setText("New");
}
{
jButton2 = new JButton();
jButton2.setText("Details");
}
{
jCheckBox1 = new JCheckBox();
jCheckBox1.setBackground(null);
}
{
einsatzort = new JTextField();
einsatzort.setPreferredSize(new Dimension(148, 21));//<-Gleich bei der Erstellung einen Startwert mitgeben.
}
{
rufnummer = new JTextField();
rufnummer.setPreferredSize(new Dimension(136, 21));//<-Gleich bei der Erstellung einen Startwert mitgeben.
}
{
techniker = new JTextField();
techniker.setPreferredSize(new Dimension(150, 21));//<-Gleich bei der Erstellung einen Startwert mitgeben.
}
thisLayout
.setVerticalGroup(thisLayout
.createSequentialGroup()
.addContainerGap()
.addGroup(
thisLayout
.createParallelGroup(
GroupLayout.Alignment.BASELINE)
.addComponent(
jButton2,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
jButton1,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
23,
GroupLayout.PREFERRED_SIZE)
.addComponent(
jButton3,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
jButton4,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
jButton5,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
bemerkung,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE))
.addGap(19)
.addGroup(
thisLayout
.createParallelGroup()
.addGroup(
GroupLayout.Alignment.LEADING,
thisLayout
.createParallelGroup(
GroupLayout.Alignment.BASELINE)
.addComponent(
techniker,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
rufnummer,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addComponent(
einsatzort,
GroupLayout.Alignment.BASELINE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE))
.addComponent(
jCheckBox1,
GroupLayout.Alignment.LEADING,
GroupLayout.PREFERRED_SIZE,
18,
GroupLayout.PREFERRED_SIZE))
.addPreferredGap(
LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1,
GroupLayout.PREFERRED_SIZE, 292,
GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
LayoutStyle.ComponentPlacement.RELATED, 0,
Short.MAX_VALUE));
thisLayout
.setHorizontalGroup(thisLayout
.createSequentialGroup()
.addContainerGap()
.addGroup(
thisLayout
.createParallelGroup()
.addGroup(
thisLayout
.createSequentialGroup()
.addGroup(
thisLayout
.createParallelGroup()
.addGroup(
GroupLayout.Alignment.LEADING,
thisLayout
.createSequentialGroup()
.addComponent(
techniker,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,//150, auf Preferred_Size umstellen
GroupLayout.PREFERRED_SIZE)
.addComponent(
rufnummer,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,//136, auf Preferred_Size umstellen
GroupLayout.PREFERRED_SIZE)
.addComponent(
einsatzort,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,//148, auf Preferred_Size umstellen
GroupLayout.PREFERRED_SIZE))
.addGroup(
GroupLayout.Alignment.LEADING,
thisLayout
.createSequentialGroup()
.addComponent(
jButton1,
GroupLayout.PREFERRED_SIZE,
55,
GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
jButton2,
GroupLayout.PREFERRED_SIZE,
55,
GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
jButton3,
GroupLayout.PREFERRED_SIZE,
54,
GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
jButton4,
GroupLayout.PREFERRED_SIZE,
45,
GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(
jButton5,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE,
GroupLayout.PREFERRED_SIZE)
.addGap(
0,
106,
GroupLayout.PREFERRED_SIZE)))
.addGroup(
thisLayout
.createParallelGroup()
.addGroup(
GroupLayout.Alignment.LEADING,
thisLayout
.createSequentialGroup()
.addComponent(
bemerkung,
GroupLayout.PREFERRED_SIZE,
59,
GroupLayout.PREFERRED_SIZE)
.addGap(
0,
0,
Short.MAX_VALUE))
.addGroup(
GroupLayout.Alignment.LEADING,
thisLayout
.createSequentialGroup()
.addGap(
29)
.addComponent(
jCheckBox1,
GroupLayout.PREFERRED_SIZE,
18,
GroupLayout.PREFERRED_SIZE)
.addGap(
12)))
.addGap(36))
.addComponent(
jScrollPane1,
GroupLayout.Alignment.LEADING,
0, 529, Short.MAX_VALUE))
.addContainerGap());
{
final JButton jButton1 = new JButton();
}
pack();
this.setSize(561, 419);
// init_cols();
// dbVerbindung.close();
}
catch (Exception e)
{
// add your error handling code here
e.printStackTrace();
}
}
}