패널 작성 마녀에 문제가있어서 파일을 읽고 쓸 수 있습니다. 나는 책 (필드 저자, 페이지, 출판 날짜)과 같은 일부 수업을 갖고 다른 만화 수업 마녀는 수업 서를 확장한다는 것을 의미합니다. 이 수업에서는 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);
}
누군가가 나에게 모든 시간 반복 코드가 너무 나쁜하지만 난 그것을 잘 모릅니다 때문에 나는 그것을 할 수있는 방법을 조언을 제공 할 수 있습니다.
하는 [MCVE] 또는 [짧은, 콘도, 올바른 예 (HTTP 게시 : // www.sscce.org/). –