[code=Java]
package StartDiaguo;import java.awt.BorderLayout;public class start extends JDialog { /**
*
*/
private static final long serialVersionUID = -1319648410946700062L;
private final JPanel contentPanel = new JPanel();
private static int numOfWeek = 0;
private JTextField textField; private static start a = new start();
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
start dialog = new start();
// Toolkit toolkit = Toolkit.getDefaultToolkit();
dialog.setLocationRelativeTo(null);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the dialog.
*/
public start() {
this.setResizable(false);
setBounds(100, 100, 300, 200);
getContentPane().setLayout(new BorderLayout());
contentPanel.setToolTipText("");
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(new GridLayout(0, 1, 0, 0));
{
JPanel panelLabel = new JPanel();
contentPanel.add(panelLabel);
panelLabel.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabelStart = new JLabel("Insert numbers of weeks for your appointment");
lblNewLabelStart.setHorizontalAlignment(SwingConstants.CENTER);
panelLabel.add(lblNewLabelStart);
}
{
JPanel panelText = new JPanel();
contentPanel.add(panelText);
panelText.setLayout(new GridLayout(1, 0, 0, 0));
{
JPanel panel = new JPanel();
panelText.add(panel);
{
textField = new JTextField();
textField.setHorizontalAlignment(SwingConstants.LEFT);
textField.setColumns(10);
panel.add(textField);
}
}
}
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout());
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
numOfWeek=Integer.parseInt(textField.getText());
System.out.println(numOfWeek);
if (numOfWeek ==0) {
JOptionPane.showMessageDialog(null, "The input number must be great than 0", "Error", JOptionPane.ERROR_MESSAGE);
textField.setText(null);
textField.requestFocus();
} else {
MainFrame mainFrame = new MainFrame();
mainFrame.setVisible(true);
mainFrame.setLocationRelativeTo(contentPanel);
dispose();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Input valid numbers", "Error", JOptionPane.ERROR_MESSAGE);
textField.setText(null);
textField.requestFocus();
}
}
});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
}
}
public static int getNumOfWeek() {
return numOfWeek;
}
}
第一个类我想实现当我点击左边的list item, 显示对应的table ,数据存起来
package StartDiaguo;import java.awt.BorderLayout;public class start extends JDialog { /**
*
*/
private static final long serialVersionUID = -1319648410946700062L;
private final JPanel contentPanel = new JPanel();
private static int numOfWeek = 0;
private JTextField textField; private static start a = new start();
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
start dialog = new start();
// Toolkit toolkit = Toolkit.getDefaultToolkit();
dialog.setLocationRelativeTo(null);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the dialog.
*/
public start() {
this.setResizable(false);
setBounds(100, 100, 300, 200);
getContentPane().setLayout(new BorderLayout());
contentPanel.setToolTipText("");
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(new GridLayout(0, 1, 0, 0));
{
JPanel panelLabel = new JPanel();
contentPanel.add(panelLabel);
panelLabel.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabelStart = new JLabel("Insert numbers of weeks for your appointment");
lblNewLabelStart.setHorizontalAlignment(SwingConstants.CENTER);
panelLabel.add(lblNewLabelStart);
}
{
JPanel panelText = new JPanel();
contentPanel.add(panelText);
panelText.setLayout(new GridLayout(1, 0, 0, 0));
{
JPanel panel = new JPanel();
panelText.add(panel);
{
textField = new JTextField();
textField.setHorizontalAlignment(SwingConstants.LEFT);
textField.setColumns(10);
panel.add(textField);
}
}
}
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout());
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
JButton okButton = new JButton("OK");
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
numOfWeek=Integer.parseInt(textField.getText());
System.out.println(numOfWeek);
if (numOfWeek ==0) {
JOptionPane.showMessageDialog(null, "The input number must be great than 0", "Error", JOptionPane.ERROR_MESSAGE);
textField.setText(null);
textField.requestFocus();
} else {
MainFrame mainFrame = new MainFrame();
mainFrame.setVisible(true);
mainFrame.setLocationRelativeTo(contentPanel);
dispose();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Input valid numbers", "Error", JOptionPane.ERROR_MESSAGE);
textField.setText(null);
textField.requestFocus();
}
}
});
okButton.setActionCommand("OK");
buttonPane.add(okButton);
getRootPane().setDefaultButton(okButton);
}
}
}
public static int getNumOfWeek() {
return numOfWeek;
}
}
第一个类我想实现当我点击左边的list item, 显示对应的table ,数据存起来
// private Object[] store = new Object[start.getNumOfWeek()];
private JPanel contentPane;
private DefaultListModel lModel;
private JTable table;
private JList list;
private DefaultTableModel tModel;
// private static Vector[] vArray = new Vector[start.getNumOfWeek()];
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrame frame = new MainFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the frame.
*/
public MainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 1135, 633);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{150, 842, 0};
gridBagLayout.rowHeights = new int[]{496, 0};
gridBagLayout.columnWeights = new double[]{0.0, 1.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{1.0, Double.MIN_VALUE};
contentPane.setLayout(gridBagLayout);
JScrollPane scrollPane_1 = new JScrollPane();
GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
gbc_scrollPane_1.insets = new Insets(0, 0, 0, 5);
gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
gbc_scrollPane_1.gridx = 0;
gbc_scrollPane_1.gridy = 0;
contentPane.add(scrollPane_1, gbc_scrollPane_1);
JPanel panelTable = new JPanel();
GridBagConstraints gbc_panelTable = new GridBagConstraints();
gbc_panelTable.fill = GridBagConstraints.BOTH;
gbc_panelTable.gridx = 1;
gbc_panelTable.gridy = 0;
contentPane.add(panelTable, gbc_panelTable);
GridBagLayout gbl_panelTable = new GridBagLayout();
gbl_panelTable.columnWidths = new int[]{0, 0};
gbl_panelTable.rowHeights = new int[]{34, 0, 0};
gbl_panelTable.columnWeights = new double[]{1.0, Double.MIN_VALUE};
gbl_panelTable.rowWeights = new double[]{0.0, 1.0, Double.MIN_VALUE};
panelTable.setLayout(gbl_panelTable);
JPanel panel = new JPanel();
GridBagConstraints gbc_panel = new GridBagConstraints();
gbc_panel.insets = new Insets(0, 0, 5, 0);
gbc_panel.fill = GridBagConstraints.BOTH;
gbc_panel.gridx = 0;
gbc_panel.gridy = 0;
panelTable.add(panel, gbc_panel);
panel.setLayout(new FormLayout(new ColumnSpec[] {
ColumnSpec.decode("max(51px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),
ColumnSpec.decode("center:max(131px;default)"),},
new RowSpec[] {
FormFactory.RELATED_GAP_ROWSPEC,
FormFactory.DEFAULT_ROWSPEC,}));
JLabel lblDate = new JLabel("Date");
panel.add(lblDate, "1, 2");
JLabel lblDate1 = new JLabel("date1");
panel.add(lblDate1, "2, 2");
JLabel lblDate2 = new JLabel("date2");
panel.add(lblDate2, "3, 2");
JLabel lblDate3 = new JLabel("date3");
panel.add(lblDate3, "4, 2");
JLabel lblDate4 = new JLabel("date4");
panel.add(lblDate4, "5, 2");
JLabel lblDate5 = new JLabel("date5");
panel.add(lblDate5, "6, 2");
JLabel lblDate6 = new JLabel("date6");
panel.add(lblDate6, "7, 2");
JLabel lblDate7 = new JLabel("date7");
panel.add(lblDate7, "8, 2");
JPanel panel_1 = new JPanel();
GridBagConstraints gbc_panel_1 = new GridBagConstraints();
gbc_panel_1.fill = GridBagConstraints.BOTH;
gbc_panel_1.gridx = 0;
gbc_panel_1.gridy = 1;
panelTable.add(panel_1, gbc_panel_1);
panel_1.setLayout(new BorderLayout(0, 0));
JScrollPane scrollPane = new JScrollPane();
panel_1.add(scrollPane, BorderLayout.CENTER);
JPanel panel_2 = new JPanel();
scrollPane.setRowHeaderView(panel_2);
panel_2.setLayout(new FormLayout(new ColumnSpec[] {
FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
ColumnSpec.decode("46px"),},
new RowSpec[] {
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),
RowSpec.decode("max(16px;default)"),}));
JLabel label = new JLabel("09:00");
panel_2.add(label, "2, 1");
JLabel labe2 = new JLabel("09:15");
panel_2.add(labe2, "2, 2");
JLabel labe3 = new JLabel("09:30");
panel_2.add(labe3, "2, 3");
JLabel labe4 = new JLabel("09:45");
panel_2.add(labe4, "2, 4");
JLabel labe5 = new JLabel("10:00");
panel_2.add(labe5, "2, 5");
JLabel labe6 = new JLabel("10:15");
panel_2.add(labe6, "2, 6");
JLabel labe7 = new JLabel("10:30");
panel_2.add(labe7, "2, 7");
JLabel label8 = new JLabel("10:45");
panel_2.add(label8, "2, 8");
JLabel label9 = new JLabel("11:00");
panel_2.add(label9, "2, 9");
JLabel label10 = new JLabel("11:15");
panel_2.add(label10, "2, 10");
JLabel label11 = new JLabel("11:30");
panel_2.add(label11, "2, 11");
JLabel label12 = new JLabel("11:45");
panel_2.add(label12, "2, 12");
JLabel label13 = new JLabel("12:00");
panel_2.add(label13, "2, 13");
JLabel label14 = new JLabel("12:15");
panel_2.add(label14, "2, 14");
JLabel label15 = new JLabel("12:30");
panel_2.add(label15, "2, 15");
JLabel label16 = new JLabel("12:45");
panel_2.add(label16, "2, 16");
JLabel label17 = new JLabel("01:00");
panel_2.add(label17, "2, 17");
JLabel label18 = new JLabel("01:15");
panel_2.add(label18, "2, 18");
JLabel label19 = new JLabel("01:30");
panel_2.add(label19, "2, 19");
JLabel label20 = new JLabel("01:45");
panel_2.add(label20, "2, 20");
JLabel label21 = new JLabel("02:00");
panel_2.add(label21, "2, 21");
JLabel label22 = new JLabel("02:15");
panel_2.add(label22, "2, 22");
JLabel label23 = new JLabel("02:30");
panel_2.add(label23, "2, 23");
JLabel label24 = new JLabel("02:45");
panel_2.add(label24, "2, 24");
JLabel label25 = new JLabel("03:00");
panel_2.add(label25, "2, 25");
JLabel label26 = new JLabel("03:15");
panel_2.add(label26, "2, 26");
JLabel label27 = new JLabel("03:30");
panel_2.add(label27, "2, 27");
JLabel label_2 = new JLabel("03:45");
panel_2.add(label_2, "2, 28");
JLabel label_3 = new JLabel("04:00");
panel_2.add(label_3, "2, 29");
JLabel label_1 = new JLabel("04:15");
panel_2.add(label_1, "2, 30");
JLabel label_4 = new JLabel("04:30");
panel_2.add(label_4, "2, 31");
JLabel label28 = new JLabel("04:45");
panel_2.add(label28, "2, 32");
TableModelD tableModelD = new TableModelD();
table = new JTable(tableModelD);
scrollPane.setViewportView(table);
lModel = new ListModel();
list = new JList(lModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent arg0) {
int temp = list.getSelectedIndex();
System.err.println(temp);
// vArray[temp] = tModel.getDataVector();
}
});
scrollPane_1.setViewportView(list);
}
}class ListModel extends DefaultListModel{
ListModel(){
for (int i = 1; i <=start.getNumOfWeek(); i++) {
addElement("week"+i);
}
}
}class TableModelD extends DefaultTableModel{
// DefaultTableModel tModel;
final String[] days = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thurday","Friday","Saturday" };
final String[][] data = new String[32][7];
TableModelD(){
setDataVector(data, days);
}
}