如何在java中调用另一个类中的字符串
我是一个真正的疯子,所以如果我没有向你问好,请原谅 这就是:如何在java中调用另一个类中的字符串,java,string,class,Java,String,Class,我是一个真正的疯子,所以如果我没有向你问好,请原谅 这就是: public class carti extends JFrame { JTextField txttitlu; JTextField txtautor; JTextField txtcat; JTextField txtedi; JTextField txtpret; DefaultListModel model; JList lista; String editur
public class carti extends JFrame {
JTextField txttitlu;
JTextField txtautor;
JTextField txtcat;
JTextField txtedi;
JTextField txtpret;
DefaultListModel model;
JList lista;
String editura;
String titlu;
String autor;
String categorie;
这是我拥有的主要类函数,在这个类中,我有4个JTextFields,通过按钮插入到JList中(这里是添加按钮“caled”adauga的脚本):
所以我想要的是:按钮“Adauga”添加到我的JList中的内容将显示在扩展的新类(称为“detalii”)上(这里是si创建的新类(“detalii”)中的代码):
谢谢你的帮助,如果我的解释没有正确完成,我真的很抱歉。希望你能理解,不要浪费你的时间。如果我理解正确,你希望“detalii”类的标签用“Adauga”提供的信息更新我想一种方法是从“Adauga”方法调用“detalii”中的方法 这就是我将如何改变“阿杜加”: 我将“detalii”改为:
private JLabel lbltitlu;
private JLabel lblautor;
private JLabel lbleditura;
private JLabel lblcategorie;
public detalii(){
this.setTitle("Detalii despre Carte");
setSize(400, 300);
setResizable(false);
setLocation(370, 150);
setLayout(null);
lbltitlu= new JLabel("Titlu" +" : ");
lbltitlu.setBounds(15, 5, 120, 25);
this.add(lbltitlu);
lblautor= new JLabel("Autor" +" : ");
lblautor.setBounds(15, 25, 120, 25);
this.add(lblautor);
lblcategorie= new JLabel("Categorie" +" : ");
lblcategorie.setBounds(15, 45, 120, 25);
this.add(lblcategorie);
lbleditura= new JLabel("Editura" +" : " );
lbleditura.setBounds(15, 65, 120, 25);
this.add(lbleditura);
}
public void pushNewInfo(String author, String title,
String category, String editor) {
lblautor.setText("Autor : " + author);
lbltitlu.setText("Titlu : " + title);
lblcategorie.setText("Categorie : " + category);
lbleditura.setText("Editura : " + editor);
}
这可能不是最好的解决方案,但根据您提供的信息,我将以这种方式解决您的问题。问题是什么?问题是如何将我在主类(称为“carti”)中获得的值从“detalii”添加到JLabel中,并通过按钮Adauga将其添加到我在同一个类中拥有的JList(希望您理解)感谢您提供的信息,但它表示:无法对非静态方法pushNewInfo进行静态引用(String,String,String,String)从类型detalii。如果我没有发布足够的详细信息,我会发布更多。对不起,我正在尽力解释,非常感谢你的帮助。啊,是的,很抱歉。你需要在“pushNewInfo”方法中添加“static”关键字,如下所示:public static void pushNewInfo(字符串作者…希望有帮助!
public detalii(){
this.setTitle("Detalii despre Carte");
setSize(400, 300);
setResizable(false);
setLocation(370, 150);
setLayout(null);
JLabel lbltitlu= new JLabel("Titlu" +" : ");
lbltitlu.setBounds(15, 5, 120, 25);
this.add(lbltitlu);
JLabel lblautor= new JLabel("Autor" +" : ");
lblautor.setBounds(15, 25, 120, 25);
this.add(lblautor);
JLabel lblcategorie= new JLabel("Categorie" +" : ");
lblcategorie.setBounds(15, 45, 120, 25);
this.add(lblcategorie);
JLabel lbleditura= new JLabel("Editura" +" : " );
lbleditura.setBounds(15, 65, 120, 25);
this.add(lbleditura);
}
public void Adauga() {
autor = txtautor.getText().trim();
titlu = txttitlu.getText().trim();
categorie = txtcat.getText().trim();
editura = txtedi.getText().trim();
if (autor.equals("")) {
JOptionPane.showMessageDialog(null, "Nu ati completat Titlu!");
return;
}
if (titlu.equals("")) {
JOptionPane.showMessageDialog(null, "Nu ati completat Autor!");
return;
}
if (categorie.equals("")) {
JOptionPane.showMessageDialog(null, "Nu ati completat Categorie!");
return;
}
String numeComplet = autor + " / " + titlu + " : " + categorie;
model.addElement(numeComplet);
detalii.pushNewInfo(autor, titlu, categorie, editura); // Add This Line!
}
private JLabel lbltitlu;
private JLabel lblautor;
private JLabel lbleditura;
private JLabel lblcategorie;
public detalii(){
this.setTitle("Detalii despre Carte");
setSize(400, 300);
setResizable(false);
setLocation(370, 150);
setLayout(null);
lbltitlu= new JLabel("Titlu" +" : ");
lbltitlu.setBounds(15, 5, 120, 25);
this.add(lbltitlu);
lblautor= new JLabel("Autor" +" : ");
lblautor.setBounds(15, 25, 120, 25);
this.add(lblautor);
lblcategorie= new JLabel("Categorie" +" : ");
lblcategorie.setBounds(15, 45, 120, 25);
this.add(lblcategorie);
lbleditura= new JLabel("Editura" +" : " );
lbleditura.setBounds(15, 65, 120, 25);
this.add(lbleditura);
}
public void pushNewInfo(String author, String title,
String category, String editor) {
lblautor.setText("Autor : " + author);
lbltitlu.setText("Titlu : " + title);
lblcategorie.setText("Categorie : " + category);
lbleditura.setText("Editura : " + editor);
}