Я пытаюсь создать простой графический интерфейс с использованием библиотеки Swing.Я не понимаю, почему моя таблица стирает все, что ранее было добавлено в графический интерфейс, и только потом создает таблицу.Я предполагаю, что это определенная команда в addMainPanel, но я не уверен, какая.Ваш совет будет высоко ценится.
package fuelConsumption;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class LogView implements ActionListener {
private Log myLog;
private JFrame frame;
public LogView (String frameName) {
this.frame = new JFrame(frameName);
this.frame.setPreferredSize(new Dimension(500,500));
this.frame.getContentPane().setLayout(new BorderLayout());
this.addMainPanel(frame);
this.addTable(frame);
//addMenu(frame);
//addToolBar(frame);
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.frame.pack();
this.frame.setVisible(true);
}
private void addTable(JFrame frame2) {
String[] columnNames = {"date",
"station",
"fuel grade",
"fuel amount",
"fuel unit cost",
"fuel cost",
"trip distance"};
Object[][] data = {
{"Shell", 89, 40, 109.5, "bla", 100, 123}
};
JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
//table.setFillsViewportHeight(true);
//Create the scroll pane and add the table to it.
JScrollPane scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel.
//this.frame.setContentPane(scrollPane);
frame2.getContentPane().add(scrollPane);
}
private void addMainPanel(JFrame frame2) {
// TODO Auto-generated method stub
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 5;
c.ipady = 50;
c.anchor = GridBagConstraints.LINE_START;
c.weightx = 0.5;
c.weighty = 0.5;
JLabel label = new JLabel("");
panel.add(label,c);
label = new JLabel("Info");
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 1;
c.anchor = GridBagConstraints.LINE_START;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(label,c);
label = new JLabel("Label");
c = new GridBagConstraints();
c.gridx = 2;
c.gridy = 1;
c.anchor = GridBagConstraints.LINE_START;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(label,c);
label = new JLabel("Comments");
c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 2;
c.anchor = GridBagConstraints.FIRST_LINE_START;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(label,c);
JTextArea textArea = new JTextArea(4,30);
JScrollPane textScroll = new JScrollPane(textArea);
c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 2;
c.gridwidth = 4;
c.ipadx = 30;
c.ipady = 50;
c.anchor = GridBagConstraints.FIRST_LINE_START;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(textScroll,c);
JButton button = new JButton("Edit");
button.addActionListener(this);
button.setActionCommand("Edit");
c = new GridBagConstraints();
c.gridx = 1;
c.gridy = 3;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(button,c);
button = new JButton("Previous");
button.addActionListener(this);
button.setActionCommand("Previous");
c = new GridBagConstraints();
c.gridx = 2;
c.gridy = 3;
c.weightx = 0.5;
c.weighty = 0.5;
panel.add(button,c);
button = new JButton("Next");
button.addActionListener(this);
button.setActionCommand("Next");
c = new GridBagConstraints();
c.gridx = 3;
c.gridy = 3;
// c.weightx = 0.5;
// c.weighty = 0.5;
panel.add(button,c);
frame2.getContentPane().add(panel);
}
public static void main(String [] args){
new LogView("Fuel Consumption");
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}