JComponent不知道如何创建面板有重复的代码
问题描述:
我有创建面板女巫的问题将允许我读取/写入文件。我的意思是我有一些像书一样的课(与字段的作者,页面,出版日期)和另一个漫画课女巫延长班书。在这个课上,我有3个其他领域,也有书。现在我想创建面板从类漫画编辑对象面板应该有两个类的字段,但我也不想重复的代码,当我写另一类女巫也延伸书。JComponent不知道如何创建面板有重复的代码
到目前为止,我已经
abstract public class book implements Serializable {
String author;
String publication_date;
Integer pages;
public String toString(){
return "";
}
public void edit(){};
} 这是我的课漫画巫婆将编辑过的JPanel
public class comics extends book implements Serializable {
Integer number1;
Integer number2;
String name;
public Samochod(String author, String publication_date, int pages,
int number1, int number2, String name){
this.author = author;
this.publication_date = publication_date;
this.pages = pages;
this.number1 = number1;
this.number2 = number2;
this.name = name;
}
public String toString(){
return author + publication_date + pages + number1 + number2 + name;
}
private JPanel createPanel(){
return new editComics(this);
}
public void e(){
new Frame(createPanel());
}
框架女巫容器
public class Frame extends JFrame implements Serializable {
public Frame(JPanel panel) {
add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
}
,我会像避免复制/粘贴代码巫婆在每个类重复代码女巫创建字段从B. OOK类
public class editComics extends JPanel implements Serializable{
comics obiekt ;
private JTextField author = new JTextField();
private JTextField publication_date = new JTextField();
private JTextField pages = new JTextField();
private JTextField number1 = new JTextField();
private JTextField number2 = new JTextField();
private JTextField name = new JTextField();
public editComics(comics obiekt){
super();
this.obiekt = obiekt;
setLayout(new BorderLayout());
createPanels();
}
private void createPanels() {
JPanel upperpanel = new JPanel();
upperpane.setLayout(new GridLayout(3, 2));
JButton save = new JButton("save");
save.addActionListener(new ConvertListener());
author.setText(obiekt.author);
publication_date.setText(publication_date.marka);
pages.setText(obiekt.pages.toString());
number1.setText(obiekt.number1.toString());
number2.setText(obiekt.number2.toString());
name.setText(obiekt.name);
upperpanel.add(author);
upperpanel.add(new JLabel("author:"));
upperpanel.add(publication_date);
upperpanel.add(new JLabel("publication_date: "));
upperpanel.add(pages);
upperpanel.add(new JLabel("pages: "));
upperpanel.add(number1);
upperpanel.add(new JLabel("number1: "));
upperpanel.add(number2);
upperpanel.add(new JLabel("number2: "));
upperpanel.add(name);
upperpanel.add(new JLabel("name"));
this.add(upperpanel, BorderLayout.CENTER);
this.add(save, BorderLayout.SOUTH);
}
有人可以给我的意见,我怎么能做到这一点,因为所有的时间重复的代码是如此糟糕,但我不知道该怎么做。
答
只是一个友好的建议,你应该检查你的代码,除非你没有编译。
发现错误:
JPanel upperpane; = new JPanel();
它应该是:
JPanel upperpane = new JPanel();
+0
对不起,但做了一些编辑,然后我添加它,所以我没有检查我的错误。你有什么想法我应该如何解决我的问题? – xarix
为了更好地帮助更快,发布[MCVE]或[短的,独立的,正确的示例](HTTP:// www.sscce.org/)。 –