在我的程序中我有一个Register类,其中main方法所在,我有一个接口所在的jFrame类。我想将这两个链接在一起但是当我尝试将所有内容从main方法复制到它的框架方法给了我错误。我如何将这些链接在一起?
他们分为两类:
public static void main(String[] args) {
Register r=new Register();
Kund k=new Normal();
k.setBelopp(100);
k.setDatum("20:15");
r.regKund(k);
k=new Student();
k.setBelopp(50);
k.setDatum("20:16");
if(r.beraknaSaldo()>=50)
r.regKund(k);
else
System.out.println("Det finns för tillfället inga pengar i kasssan, studenten registreras inte.");
k=new Foretag();
k.setBelopp(0);
k.setDatum("20:17");
k.setLopnummer(r.getLopnummer());
r.regKund(k);
System.out.println("Kassan har nu "+r.beraknaSaldo()+" kr");
k=new Student();
k.setBelopp(50);
k.setDatum("20:18");
if(r.beraknaSaldo()>=50)
r.regKund(k);
else
System.out.println("Det finns för tillfället inga pengar i kasssan, studenten registreras inte");
k=new Normal();
k.setBelopp(100);
k.setDatum("20:19");
r.regKund(k);
k=new Student();
k.setBelopp(50);
k.setDatum("20:20");
if(r.beraknaSaldo()>=50)
r.regKund(k);
else
System.out.println("Det finns för tillfället inga pengar i kasssan, studenten registreras inte");
k=new Foretag();
k.setBelopp(0);
k.setDatum("20:21");
k.setLopnummer(r.getLopnummer());
r.regKund(k);
k=new Normal();
k.setBelopp(100);
k.setDatum("20:22");
r.regKund(k);
System.out.println(r.getLista());
System.out.println("Kassan har nu "+r.beraknaSaldo()+" kr");
}
界面:
public class Frame extends Register {
private JFrame frame;
String[] KundLista = { "Normal", "Företag", "Student"};
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Frame window = new Frame();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public void windowClosing (WindowEvent e) {
System.out.print("Programmet sparas och kommer nu stängas av");
System.exit(1);
}
/**
* Create the application.
*/
public Frame() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 424);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
listaString = getLista();
TextArea textArea = new TextArea(listaString);
textArea.setEditable(false);
textArea.setBounds(0, 105, 440, 243);
frame.getContentPane().add(textArea);
textArea.append(listaString);
textArea.setText(listaString);
JTextPane textPane = new JTextPane();
textPane.setEditable(false);
textPane.setBounds(208, 354, 42, 22);
frame.getContentPane().add(textPane);
TextField textField = new TextField();
textField.setBounds(120, 10, 102, 22);
frame.getContentPane().add(textField);
TextField textField_1 = new TextField();
textField_1.setEditable(false);
textField_1.setBounds(255, 10, 102, 22);
frame.getContentPane().add(textField_1);
Label label = new Label("Saldo:");
label.setBounds(162, 354, 40, 22);
frame.getContentPane().add(label);
Label label_1 = new Label("Belopp:");
label_1.setBounds(72, 10, 50, 22);
frame.getContentPane().add(label_1);
Label label_2 = new Label("Tid:");
label_2.setBounds(228, 10, 22, 22);
frame.getContentPane().add(label_2);
Label label_3 = new Label("Bes\u00F6kartyp");
label_3.setBounds(0, 77, 62, 22);
frame.getContentPane().add(label_3);
Label label_4 = new Label("Belopp");
label_4.setBounds(122, 77, 62, 22);
frame.getContentPane().add(label_4);
Label label_5 = new Label("Tid");
label_5.setBounds(246, 77, 22, 22);
frame.getContentPane().add(label_5);
Label label_6 = new Label("L\u00F6pnummer");
label_6.setBounds(345, 77, 79, 22);
frame.getContentPane().add(label_6);
JComboBox comboBox = new JComboBox(KundLista);
comboBox.setToolTipText("Välj vilken typ av Kund du är");
comboBox.setRenderer(new MyComboBoxRenderer("Välj..."));
comboBox.setSelectedIndex(-1);
comboBox.setBounds(171, 46, 97, 22);
frame.getContentPane().add(comboBox);
}
}
class MyComboBoxRenderer extends JLabel implements ListCellRenderer {
private String title;
public MyComboBoxRenderer(String newTitle) {
title = newTitle;
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean hasFocus) {
if (index == -1 && value == null) setText(title );
else setText(value.toString());
return this;
}
}