私は今約2時間オンラインで探しています。私が完了する必要があるのは、別のクラスにボタンを配置し、プログラム全体のフレームウィンドウのタイトルを変更する方法です。つまり、基本的には、顧客がsetTitleを自分の商号に変更できるようにしたいのです。これは、この問題に関係する両方のクラスについてこれまでに持っているコードです。
Options.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Options extends JPanel {
JLabel nameLabel;
JTextField nameField;
JButton sNn;
public Options()
{
nameLabel = new JLabel();
nameLabel.setText("Change Company Name:");
nameField = new JTextField(22);
sNn = getTitleChangeButton();
ExitButton exitButton = new ExitButton();
this.add(nameLabel);
this.add(nameField);
this.add(sNn);
this.add(exitButton.getExitButton());
}
public JButton getTitleChangeButton()
{
JButton ChangeTitle;
ChangeTitle = new JButton("Change Company Title");
ChangeTitle.setMnemonic('C');
ChangeTitle.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String title;
}
});
return ChangeTitle;
}
}
これがtabbedPaneと呼ばれる2番目のクラスです。これは私がスーパークラスになりたいクラスであり、ボタンを使用してsetTitleを変更します。
TabbedPane.java
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
//import poolCalculation.PoolVolumeCalc;
//import poolCalculation.GenTab;
//import poolCalculation.TempCalc;
import poolCalculation.Options;
public class TabbedPane extends JFrame
{
public TabbedPane()
{
setTitle("Gardening INC.");
JTabbedPane Tabs = new JTabbedPane();
getContentPane().add(Tabs);
JPanel jp1 = new JPanel();
//Tabs.addTab("Pool Volume Calculator", new PoolVolumeCalc());
//Tabs.addTab("General Tab", new GenTab());
//Tabs.addTab("Temperature Calculation", new TempCalc());
Tabs.addTab("Options", new Options());
getContentPane().add(Tabs);
setSize(400,300);
setVisible(true);
}
public static void main(String[] args) {
TabbedPane test = new TabbedPane();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
私の人生では、ユーザーがオプションのボタンをクリックしたときに、フレームのタイトルを変更する方法がわかりません。これまでに試したことは次のとおりです。setTitle(title)を作成し、TabbedPaneのメインセクションでその文字列を作成してから、getメソッドを使用してオプションからテキストを取得しようとしましたが、機能しませんでした。または私はそれを間違えました。ボタンを独自のクラスにしようとしましたが、テキストフィールドを読み取れなくなりました。