请问在一个按钮操作中 能实现什么功能 你需要能够访问那两个文本框,所以一般的做法是在JFrame中或者JPanel中用匿名内部类实现一个ActionListener添加到按钮,这样就有可能访问到其他控件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个是肯定可以的!可能是你其他的代码出错了!比如有 TextField1 和 TextField2你可以先用TextField1.getText();取得文本框的文本进行转换最后用TextField2.setText();把结果显示出来。 把你完整的代码贴出来!我帮你调试!!此外,TextField2.setText(“str”); 显示时,需要 字符串 格式的数据你要把 ascii代码 值转换成 字符串。 package des;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Des extends JFrame { JPanel contentPane; JPanel jPanel1 = new JPanel(); BorderLayout borderLayout1 = new BorderLayout(); JTextArea jTextArea1 = new JTextArea(); JTextArea jTextArea2 = new JTextArea(); JTextArea jTextArea3 = new JTextArea(); JToggleButton jToggleButton1 = new JToggleButton(); JToggleButton jToggleButton2 = new JToggleButton(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); //Construct the frame public Des() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setBackground(SystemColor.control); contentPane.setEnabled(false); contentPane.setDebugGraphicsOptions(0); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(586, 345)); this.setTitle("Frame Title"); jTextArea1.setText(""); jTextArea1.setBounds(new Rectangle(22, 125, 99, 105)); jPanel1.setLayout(null); jTextArea2.setText(""); jTextArea2.setBounds(new Rectangle(211, 128, 99, 103)); jTextArea3.setText(""); jTextArea3.setBounds(new Rectangle(410, 127, 99, 103)); jToggleButton1.setText("加密"); jToggleButton1.setBounds(new Rectangle(127, 160, 71, 25)); jToggleButton1.addActionListener(new Des_jToggleButton1_actionAdapter(this)); jToggleButton2.setText("解密"); jToggleButton2.setBounds(new Rectangle(327, 164, 66, 25)); jLabel1.setFont(new java.awt.Font("Dialog", 1, 14)); jLabel1.setText("DES加密解密"); jLabel1.setBounds(new Rectangle(204, 15, 111, 25)); jLabel2.setText("明文"); jLabel2.setBounds(new Rectangle(19, 96, 34, 16)); jLabel3.setRequestFocusEnabled(true); jLabel3.setText("密文"); jLabel3.setBounds(new Rectangle(216, 91, 34, 16)); jLabel4.setToolTipText(""); jLabel4.setText("明文"); jLabel4.setBounds(new Rectangle(377, 87, 34, 16)); jPanel1.setFont(new java.awt.Font("Dialog", 1, 11)); contentPane.add(jPanel1, BorderLayout.CENTER); jPanel1.add(jTextArea1, null); jPanel1.add(jLabel1, null); jPanel1.add(jLabel3, null); jPanel1.add(jLabel2, null); jPanel1.add(jLabel4, null); jPanel1.add(jTextArea3, null); jPanel1.add(jTextArea2, null); jPanel1.add(jToggleButton2, null); jPanel1.add(jToggleButton1, null); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public String[] convert(byte bye){ String [] c = new String[8]; int[] ss=new int [8]; int by=bye; // char s='w'; // byte b=(byte)s; //System.out.println(b); for(int i=7;i>=0;i--) { int ssv=by%2; ss[i]=ssv; c[i] = (ss[i] == 1)? "1":"0"; by=by/2; } return c; } public static void main(String[] args) { Des frame2 = new Des(); boolean packFrame = false; //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame2.pack(); } else { frame2.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame2.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame2.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame2.setVisible(true); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } } void jToggleButton1_actionPerformed(ActionEvent e) { Des de = new Des(); String str=jTextArea1.getText(); int coun=0; byte str1; String[] str2=new String[40]; String[] s=null; for(int i=0;i<str.length();i++){ str1=(byte)str.charAt(i); String[] bb=de.convert(str1); coun++; for(int m=0+coun*8;m<8+coun*8;m++){ int tt=m-coun*8; str2[m]=bb[tt]; } for(int j=0;j<8;j++){ System.out.print(bb[j]); } } System.out.print(str2); }}class Des_jToggleButton1_actionAdapter implements java.awt.event.ActionListener { Des adaptee; Des_jToggleButton1_actionAdapter(Des adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jToggleButton1_actionPerformed(e); }} 你的代码问题太多了!可能你是初学 Java 吧,你写的 void jToggleButton1_actionPerformed(ActionEvent e) 函数问题太多!我写了一个简单的(不执行任何的转换),你看看吧!你要执行转换,只要转换后还是一个字符串,就可以输出!初学 Java 我建议还是不要使用 IDE 的好!要不你很难入门的,JB 屏蔽了太多的东西,也生成了很多的垃圾东西!下面是改写后的代码:import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Des extends JFrame { JPanel contentPane; JPanel jPanel1 = new JPanel(); BorderLayout borderLayout1 = new BorderLayout(); JTextArea jTextArea1 = new JTextArea(); JTextArea jTextArea2 = new JTextArea(); JTextArea jTextArea3 = new JTextArea(); JToggleButton jToggleButton1 = new JToggleButton(); JToggleButton jToggleButton2 = new JToggleButton(); JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); //Construct the frame public Des() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { contentPane = (JPanel) this.getContentPane(); contentPane.setBackground(SystemColor.control); contentPane.setEnabled(false); contentPane.setDebugGraphicsOptions(0); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(586, 345)); this.setTitle("Frame Title"); jTextArea1.setText(""); jTextArea1.setBounds(new Rectangle(22, 125, 99, 105)); jPanel1.setLayout(null); jTextArea2.setText(""); jTextArea2.setBounds(new Rectangle(211, 128, 99, 103)); jTextArea3.setText(""); jTextArea3.setBounds(new Rectangle(410, 127, 99, 103)); jToggleButton1.setText("加密"); jToggleButton1.setBounds(new Rectangle(127, 160, 71, 25)); jToggleButton1.addActionListener(new Des_jToggleButton1_actionAdapter(this)); jToggleButton2.setText("解密"); jToggleButton2.setBounds(new Rectangle(327, 164, 66, 25)); jLabel1.setFont(new java.awt.Font("Dialog", 1, 14)); jLabel1.setText("DES加密解密"); jLabel1.setBounds(new Rectangle(204, 15, 111, 25)); jLabel2.setText("明文"); jLabel2.setBounds(new Rectangle(19, 96, 34, 16)); jLabel3.setRequestFocusEnabled(true); jLabel3.setText("密文"); jLabel3.setBounds(new Rectangle(216, 91, 34, 16)); jLabel4.setToolTipText(""); jLabel4.setText("明文"); jLabel4.setBounds(new Rectangle(377, 87, 34, 16)); jPanel1.setFont(new java.awt.Font("Dialog", 1, 11)); contentPane.add(jPanel1, BorderLayout.CENTER); jPanel1.add(jTextArea1, null); jPanel1.add(jLabel1, null); jPanel1.add(jLabel3, null); jPanel1.add(jLabel2, null); jPanel1.add(jLabel4, null); jPanel1.add(jTextArea3, null); jPanel1.add(jTextArea2, null); jPanel1.add(jToggleButton2, null); jPanel1.add(jToggleButton1, null); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } public String[] convert(byte bye){ String [] c = new String[8]; int[] ss=new int [8]; int by=bye; // char s='w'; // byte b=(byte)s; //System.out.println(b); for(int i=7;i>=0;i--) { int ssv=by%2; ss[i]=ssv; c[i] = (ss[i] == 1)? "1":"0"; by=by/2; } return c; } public static void main(String[] args) { Des frame2 = new Des(); boolean packFrame = false; //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame2.pack(); } else { frame2.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame2.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame2.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame2.setVisible(true); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { e.printStackTrace(); } } void jToggleButton1_actionPerformed(ActionEvent e) { String str=jTextArea1.getText(); //你具体的转换我看不懂 //这里只是简单的把 jTextArea1 的输入写到 jTextArea2 中 //你自己去改写你的转换函数吧 jTextArea2.setText(str); /* int coun=0; byte str1; String[] str2=new String[40]; String[] s=null; for(int i=0;i<str.length();i++){ str1=(byte)str.charAt(i); String[] bb=convert(str1); coun++; for(int m=0+coun*8;m<8+coun*8;m++){ int tt=m-coun*8; str2[m]=bb[tt]; } for(int j=0;j<8;j++){ System.out.print(bb[j]); } } System.out.print(str2); */ } }class Des_jToggleButton1_actionAdapter implements java.awt.event.ActionListener { Des adaptee; Des_jToggleButton1_actionAdapter(Des adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jToggleButton1_actionPerformed(e); }} 求解if (input.hasNextDouble()==true)什么意思 java 不能在继承某个类的同时实现某个接口 新手求解答~ 关于 java程序打包成exe文件 如何识别鼠标左右键同时按下? 请教,用swing类编写的界面如何在网页上显示运行? 简单问题,迷惑,求解! 关于JBuilder的问题!! 请教高手:如何读取数据库中的image对象,并在页面上显示出来? 请教,Java为什么我不能动态添加JLable 为什么接收过来的是乱码? 菜鸟发问:java tm中的tm是代表什么啊?
TextField1.getText();
取得文本框的文本进行转换
最后用
TextField2.setText();
把结果显示出来。
import java.util.*;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Des extends JFrame {
JPanel contentPane;
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
JTextArea jTextArea2 = new JTextArea();
JTextArea jTextArea3 = new JTextArea();
JToggleButton jToggleButton1 = new JToggleButton();
JToggleButton jToggleButton2 = new JToggleButton();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel(); //Construct the frame
public Des() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setBackground(SystemColor.control);
contentPane.setEnabled(false);
contentPane.setDebugGraphicsOptions(0);
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(586, 345));
this.setTitle("Frame Title");
jTextArea1.setText("");
jTextArea1.setBounds(new Rectangle(22, 125, 99, 105));
jPanel1.setLayout(null);
jTextArea2.setText("");
jTextArea2.setBounds(new Rectangle(211, 128, 99, 103));
jTextArea3.setText("");
jTextArea3.setBounds(new Rectangle(410, 127, 99, 103));
jToggleButton1.setText("加密");
jToggleButton1.setBounds(new Rectangle(127, 160, 71, 25));
jToggleButton1.addActionListener(new Des_jToggleButton1_actionAdapter(this));
jToggleButton2.setText("解密");
jToggleButton2.setBounds(new Rectangle(327, 164, 66, 25));
jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));
jLabel1.setText("DES加密解密");
jLabel1.setBounds(new Rectangle(204, 15, 111, 25));
jLabel2.setText("明文");
jLabel2.setBounds(new Rectangle(19, 96, 34, 16));
jLabel3.setRequestFocusEnabled(true);
jLabel3.setText("密文");
jLabel3.setBounds(new Rectangle(216, 91, 34, 16));
jLabel4.setToolTipText("");
jLabel4.setText("明文");
jLabel4.setBounds(new Rectangle(377, 87, 34, 16));
jPanel1.setFont(new java.awt.Font("Dialog", 1, 11));
contentPane.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jTextArea1, null);
jPanel1.add(jLabel1, null);
jPanel1.add(jLabel3, null);
jPanel1.add(jLabel2, null);
jPanel1.add(jLabel4, null);
jPanel1.add(jTextArea3, null);
jPanel1.add(jTextArea2, null);
jPanel1.add(jToggleButton2, null);
jPanel1.add(jToggleButton1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public String[] convert(byte bye){
String [] c = new String[8];
int[] ss=new int [8];
int by=bye;
// char s='w';
// byte b=(byte)s;
//System.out.println(b);
for(int i=7;i>=0;i--)
{
int ssv=by%2;
ss[i]=ssv;
c[i] = (ss[i] == 1)? "1":"0";
by=by/2;
} return c;
} public static void main(String[] args) {
Des frame2 = new Des();
boolean packFrame = false;
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame2.pack();
}
else {
frame2.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame2.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame2.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame2.setVisible(true);
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
} } void jToggleButton1_actionPerformed(ActionEvent e) {
Des de = new Des();
String str=jTextArea1.getText();
int coun=0;
byte str1;
String[] str2=new String[40];
String[] s=null;
for(int i=0;i<str.length();i++){
str1=(byte)str.charAt(i);
String[] bb=de.convert(str1);
coun++;
for(int m=0+coun*8;m<8+coun*8;m++){
int tt=m-coun*8;
str2[m]=bb[tt];
}
for(int j=0;j<8;j++){
System.out.print(bb[j]);
}
}
System.out.print(str2);
}
}class Des_jToggleButton1_actionAdapter implements java.awt.event.ActionListener {
Des adaptee; Des_jToggleButton1_actionAdapter(Des adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jToggleButton1_actionPerformed(e);
}
}
你的代码问题太多了!
可能你是初学 Java 吧,你写的
void jToggleButton1_actionPerformed(ActionEvent e) 函数问题太多!
我写了一个简单的(不执行任何的转换),你看看吧!
你要执行转换,只要转换后还是一个字符串,就可以输出!初学 Java 我建议还是不要使用 IDE 的好!
要不你很难入门的,JB 屏蔽了太多的东西,也生成了很多的垃圾东西!下面是改写后的代码:import java.io.*;
import java.util.*;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Des extends JFrame {
JPanel contentPane;
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
JTextArea jTextArea2 = new JTextArea();
JTextArea jTextArea3 = new JTextArea();
JToggleButton jToggleButton1 = new JToggleButton();
JToggleButton jToggleButton2 = new JToggleButton();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel(); //Construct the frame
public Des() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setBackground(SystemColor.control);
contentPane.setEnabled(false);
contentPane.setDebugGraphicsOptions(0);
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(586, 345));
this.setTitle("Frame Title");
jTextArea1.setText("");
jTextArea1.setBounds(new Rectangle(22, 125, 99, 105));
jPanel1.setLayout(null);
jTextArea2.setText("");
jTextArea2.setBounds(new Rectangle(211, 128, 99, 103));
jTextArea3.setText("");
jTextArea3.setBounds(new Rectangle(410, 127, 99, 103));
jToggleButton1.setText("加密");
jToggleButton1.setBounds(new Rectangle(127, 160, 71, 25));
jToggleButton1.addActionListener(new Des_jToggleButton1_actionAdapter(this));
jToggleButton2.setText("解密");
jToggleButton2.setBounds(new Rectangle(327, 164, 66, 25));
jLabel1.setFont(new java.awt.Font("Dialog", 1, 14));
jLabel1.setText("DES加密解密");
jLabel1.setBounds(new Rectangle(204, 15, 111, 25));
jLabel2.setText("明文");
jLabel2.setBounds(new Rectangle(19, 96, 34, 16));
jLabel3.setRequestFocusEnabled(true);
jLabel3.setText("密文");
jLabel3.setBounds(new Rectangle(216, 91, 34, 16));
jLabel4.setToolTipText("");
jLabel4.setText("明文");
jLabel4.setBounds(new Rectangle(377, 87, 34, 16));
jPanel1.setFont(new java.awt.Font("Dialog", 1, 11));
contentPane.add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jTextArea1, null);
jPanel1.add(jLabel1, null);
jPanel1.add(jLabel3, null);
jPanel1.add(jLabel2, null);
jPanel1.add(jLabel4, null);
jPanel1.add(jTextArea3, null);
jPanel1.add(jTextArea2, null);
jPanel1.add(jToggleButton2, null);
jPanel1.add(jToggleButton1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public String[] convert(byte bye){
String [] c = new String[8];
int[] ss=new int [8];
int by=bye;
// char s='w';
// byte b=(byte)s;
//System.out.println(b);
for(int i=7;i>=0;i--)
{
int ssv=by%2;
ss[i]=ssv;
c[i] = (ss[i] == 1)? "1":"0";
by=by/2;
} return c;
} public static void main(String[] args) {
Des frame2 = new Des();
boolean packFrame = false;
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame2.pack();
}
else {
frame2.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame2.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame2.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame2.setVisible(true);
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
} } void jToggleButton1_actionPerformed(ActionEvent e) {
String str=jTextArea1.getText();
//你具体的转换我看不懂
//这里只是简单的把 jTextArea1 的输入写到 jTextArea2 中
//你自己去改写你的转换函数吧
jTextArea2.setText(str);
/*
int coun=0;
byte str1;
String[] str2=new String[40];
String[] s=null;
for(int i=0;i<str.length();i++){
str1=(byte)str.charAt(i);
String[] bb=convert(str1);
coun++;
for(int m=0+coun*8;m<8+coun*8;m++){
int tt=m-coun*8;
str2[m]=bb[tt];
}
for(int j=0;j<8;j++){
System.out.print(bb[j]);
}
}
System.out.print(str2);
*/
}
}class Des_jToggleButton1_actionAdapter implements java.awt.event.ActionListener {
Des adaptee; Des_jToggleButton1_actionAdapter(Des adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jToggleButton1_actionPerformed(e);
}
}