如何在JavaSwing中向按钮的actionlistener添加文本字段?我还有一个关于字符串的问题 public类BasicGuiOnlyText扩展了JPanel{ 静态字符串outputHtml=“”;*>创建字符串* private JFrame f=new JFrame(“静态网页生成器”);*>创建框架* private JMenuBar mb=new JMenuBar();*>创建菜单* 私有JMenu mnuFile=新JMenu(“文件”); 私有JMenuItem mnuItemNew=新JMenuItem(“新HTML”); 私有JMenuItem mnuItemSave=新JMenuItem(“保存”); private JMenuItem mnuItemQuit=新JMenuItem(“Quit”); 私有JMenu mnuCreate=新JMenu(“创建”); 私有JMenuItem mnuItemFinish=新JMenuItem(“Finish”); 私有JMenu mnuHelp=新JMenu(“帮助”); private JMenuItem mnuItemAbout=新JMenuItem(“关于”); 公共基本guionlytext(){ f、 setJMenuBar(mb); mnuFile.add(mnuItemNew);>添加菜单项 mnuItemNew.addActionListener(new TextFieldSet());*>添加MenuItemListeners* mnuFile.add(mnuItemSave); mnuFile.add(mnuItemQuit); mnuItemQuit.addActionListener(newlistenmenuquit()); mnuHelp.add(mnuItemAbout); ButtonHandler phandler=新ButtonHandler(); mnuItemAbout.addActionListener(phandler); mnuCreate.add(mnuItemFinish); ButtonHandler1 fhandler=新的ButtonHandler1(); mnuItemFinish.addActionListener(fhandler); mb.add(mnuFile); mb.add(mnuCreate); mb.add(mnuHelp); f、 getContentPane().setLayout(新的BorderLayout()); f、 addWindowListener(新ListenCloseWdw()); } >公共类TextFieldSet实现ActionListener{ >JTextField=新的JTextField(20); >JPanel tfPanel=新JPanel(新网格布局(1,1)); >已执行的公共无效操作(操作事件e){ >JTextArea text1=新的JTextArea(“写你的文本”,15,40); >JPanel textAreaPanel=newjpanel(newborderlayout()); >textAreaPanel.add(text1,BorderLayout.CENTER); >tfPanel.setText(“在此处编写文本:”); >添加(tf); >} >}
我只想在单击此新Html按钮时添加文本字段。我尝试使用此代码。但这不起作用。如何操作?如何在JavaSwing中向按钮的actionlistener添加文本字段?我还有一个关于字符串的问题 public类BasicGuiOnlyText扩展了JPanel{ 静态字符串outputHtml=“”;*>创建字符串* private JFrame f=new JFrame(“静态网页生成器”);*>创建框架* private JMenuBar mb=new JMenuBar();*>创建菜单* 私有JMenu mnuFile=新JMenu(“文件”); 私有JMenuItem mnuItemNew=新JMenuItem(“新HTML”); 私有JMenuItem mnuItemSave=新JMenuItem(“保存”); private JMenuItem mnuItemQuit=新JMenuItem(“Quit”); 私有JMenu mnuCreate=新JMenu(“创建”); 私有JMenuItem mnuItemFinish=新JMenuItem(“Finish”); 私有JMenu mnuHelp=新JMenu(“帮助”); private JMenuItem mnuItemAbout=新JMenuItem(“关于”); 公共基本guionlytext(){ f、 setJMenuBar(mb); mnuFile.add(mnuItemNew);>添加菜单项 mnuItemNew.addActionListener(new TextFieldSet());*>添加MenuItemListeners* mnuFile.add(mnuItemSave); mnuFile.add(mnuItemQuit); mnuItemQuit.addActionListener(newlistenmenuquit()); mnuHelp.add(mnuItemAbout); ButtonHandler phandler=新ButtonHandler(); mnuItemAbout.addActionListener(phandler); mnuCreate.add(mnuItemFinish); ButtonHandler1 fhandler=新的ButtonHandler1(); mnuItemFinish.addActionListener(fhandler); mb.add(mnuFile); mb.add(mnuCreate); mb.add(mnuHelp); f、 getContentPane().setLayout(新的BorderLayout()); f、 addWindowListener(新ListenCloseWdw()); } >公共类TextFieldSet实现ActionListener{ >JTextField=新的JTextField(20); >JPanel tfPanel=新JPanel(新网格布局(1,1)); >已执行的公共无效操作(操作事件e){ >JTextArea text1=新的JTextArea(“写你的文本”,15,40); >JPanel textAreaPanel=newjpanel(newborderlayout()); >textAreaPanel.add(text1,BorderLayout.CENTER); >tfPanel.setText(“在此处编写文本:”); >添加(tf); >} >},java,string,swing,actionlistener,Java,String,Swing,Actionlistener,我只想在单击此新Html按钮时添加文本字段。我尝试使用此代码。但这不起作用。如何操作? public class BasicGuiOnlyText extends JPanel{ static String outputHtml="<html>";*>Creating The String* private JFrame f = new JFrame("Static Web Page Builder"); *>Creating the Frame* priva
public class BasicGuiOnlyText extends JPanel{
static String outputHtml="<html>";*>Creating The String*
private JFrame f = new JFrame("Static Web Page Builder"); *>Creating the Frame*
private JMenuBar mb = new JMenuBar(); *>Creating Menu*
private JMenu mnuFile = new JMenu("File");
private JMenuItem mnuItemNew=new JMenuItem("New HTML");
private JMenuItem mnuItemSave=new JMenuItem("Save");
private JMenuItem mnuItemQuit = new JMenuItem("Quit");
private JMenu mnuCreate = new JMenu("Create");
private JMenuItem mnuItemFinish=new JMenuItem("Finish");
private JMenu mnuHelp = new JMenu("Help");
private JMenuItem mnuItemAbout = new JMenuItem("About");
public BasicGuiOnlyText(){
f.setJMenuBar(mb);
mnuFile.add(mnuItemNew);>Adding Menu Items
mnuItemNew.addActionListener(new TextFieldSet());*>Adding MenuItemListeners*
mnuFile.add(mnuItemSave);
mnuFile.add(mnuItemQuit);
mnuItemQuit.addActionListener(new ListenMenuQuit());
mnuHelp.add(mnuItemAbout);
ButtonHandler phandler = new ButtonHandler();
mnuItemAbout.addActionListener(phandler);
mnuCreate.add(mnuItemFinish);
ButtonHandler1 fhandler = new ButtonHandler1();
mnuItemFinish.addActionListener(fhandler);
mb.add(mnuFile);
mb.add(mnuCreate);
mb.add(mnuHelp);
f.getContentPane().setLayout(new BorderLayout());
f.addWindowListener(new ListenCloseWdw());
}
>public class TextFieldSet implements ActionListener{
>JTextField tf=new JTextField(20);
>JPanel tfPanel = new JPanel(new GridLayout(1,1));
>public void actionPerformed(ActionEvent e){
>JTextArea text1 = new JTextArea("Write Your Text", 15, 40);
>JPanel textAreaPanel = new JPanel(new BorderLayout());
>textAreaPanel.add(text1, BorderLayout.CENTER);
>tfPanel.setText("Write your text here:");
>tfPanel.add(tf);
>}
>}
class ButtonHandler1为最终HTML标记实现ActionListener{>
已执行的公共无效操作(操作事件e){
outputHtml=“”;
//这里我需要帮助。单击“完成”按钮时,我必须添加标记。但此代码不起作用。我该怎么办?***
}
}
公共类ListenMenuQuit为出口*实现ActionListener{*>
已执行的公共无效操作(操作事件e){
系统出口(0);
}
}
类ButtonHandler实现ActionListener{*>以显示帮助*
已执行的公共无效操作(操作事件e){
showMessageDialog(null,“它支持GUI环境来输入您的选择。”,“帮助”,JOptionPane.INFORMATION_消息);
}
}
公共类ListnClosewdw扩展了WindowAdapter{
公共无效窗口关闭(窗口事件e){
系统出口(0);
}
}
public void launchFrame(){*>启动框架*
f、 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f、 设置大小(500500);
f、 setVisible(真);
f、 setLocationRelativeTo(空);
}
公共静态void main(字符串args[]){*>main方法*
BasicGuiOnlyText gui=新的BasicGuiOnlyText();
gui.launchFrame();
试试{
OutputStream htmlfile=新文件OutputStream(新文件(“test.html”);*>For>创建html文件*
PrintStream printhtml=新的PrintStream(htmlfile);
printhtml.println(outputHtml);
printhtml.close();
htmlfile.close();
}
捕获(例外e){}
}
}
我希望我没有正确理解你的问题。按下JButton
时,在JTextField
中添加文本“Hello world!”的示例,请参见下文
class ButtonHandler1 implements ActionListener{ >For the Final HTML tag
public void actionPerformed(ActionEvent e){
outputHtml="</html>";
//Here i need help. i have to add </html> tag when the finish button is clicked. But this code is not working. What should i do?***
}
}
public class ListenMenuQuit implements ActionListener{ *>For the Exit*
public void actionPerformed(ActionEvent e){
System.exit(0);
}
}
class ButtonHandler implements ActionListener{ *>For displaying the Help*
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "It supports GUI environment to enter your choices.", "HELP", JOptionPane. INFORMATION_MESSAGE);
}
}
public class ListenCloseWdw extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
public void launchFrame(){ *>Launches the Frame*
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.setVisible(true);
f.setLocationRelativeTo(null);
}
public static void main(String args[]){ *>Main Method*
BasicGuiOnlyText gui = new BasicGuiOnlyText();
gui.launchFrame();
try {
OutputStream htmlfile= new FileOutputStream(new File("test.html"));*>For >the creation of HTML file*
PrintStream printhtml = new PrintStream(htmlfile);
printhtml.println(outputHtml);
printhtml.close();
htmlfile.close();
}
catch (Exception e) {}
}
}
如果这不是您的意思,请在课堂上澄清您的问题按钮Handler1 outHtml+=html标记ie/html的结尾,抱歉,我不明白。您是否试图在单击按钮时将“”附加到文本字段?
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AppendTextDemo {
public static void main( String[] args ) {
EventQueue.invokeLater( new Runnable() {
@Override
public void run() {
JFrame testFrame = new JFrame( "AppendTextDemo" );
JPanel content = new JPanel( new BorderLayout( ) );
JTextField textField = new JTextField( 20 );
content.add( textField, BorderLayout.CENTER );
JButton appendButton = new JButton( "Append text" );
content.add( appendButton, BorderLayout.SOUTH );
appendButton.addActionListener( new AppendTextActionListener( "Hello world!", textField ) );
testFrame.setContentPane( content );
testFrame.pack();
testFrame.setVisible( true );
testFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
} );
}
private static class AppendTextActionListener implements ActionListener{
private final String textToAppend;
private final JTextComponent textComponent;
private AppendTextActionListener( String textToAppend, JTextComponent textComponent ) {
this.textToAppend = textToAppend;
this.textComponent = textComponent;
}
@Override
public void actionPerformed( ActionEvent e ) {
Document document = textComponent.getDocument();
try {
document.insertString( document.getLength(), textToAppend, null );
} catch ( BadLocationException e1 ) {
e1.printStackTrace();//do something useful with the exception
}
}
}
}