我是想通过一个按钮的mouseListerner 中的clickEvent 方法中 利用前面所定义的JTextField中输入的值构建新的对象。但是总也不能通过。
提示是找不到构造方法所要的参数。
请各位救我一命,实验做到这里没办法下去了。
先谢过了。试验是做一个操作系统进程调度模拟
代码:import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.BorderLayout;
import java.util.*;public class jFrame extends JFrame { public jFrame() {
super("进程调度模拟");
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} private void jbInit() throws Exception {
Container ct=getContentPane();
ct.setLayout(new FlowLayout()); //int i=0; final ArrayList al=new ArrayList();
final Iterator ia=al.iterator();
jLabel1.setText("进程名:");
jLabel2.setText("运行时间:");
//jTextField1.setText("jTextField1");
jLabel3.setText("优先级:");
jLabel4.setText("进程状态:");
jTextField5.setEditable(false);
//this.getContentPane().setLayout(flowLayout1);
//this.getContentPane().add(jLabel1, null);
jbtn1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{ String th1pid=jTextField1.getText();
int th1priority=Integer.valueOf(jTextField3.getText());
int th1rtime=Integer.valueOf(jTextField2.getText());
int th1statu=Integer.valueOf(jTextField4.getText()); al.add(new thread());
ia.next().pid=jTextField1.getText();
//thread th1=new thread(); /* int i=0;
if(i<10)
{
th[i]=new thread();
th[i].pid=jTextField1.getText();
th[i].priority=Integer.valueOf(jTextField3.getText());
th[i].rtime=Integer.valueOf(jTextField2.getText());
th[i].statu=Integer.valueOf(jTextField4.getText());
i++;*/ //initthread(th);
jTextField1.setText(null);
jTextField2.setText(null);
jTextField3.setText(null);
jTextField4.setText(null);}
});
jbtn2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
jTextField1.setText(null);
jTextField2.setText(null);
jTextField3.setText(null);
jTextField4.setText(null); }});
jbtn3.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
try{
int j=0;
//jTextField5.setText(th[j].disp());
}
catch(Exception e1){}
}}); ct.add(jLabel1);
ct.add(jTextField1);
ct.add(jLabel2);
ct.add(jTextField2);
ct.add(jLabel3);
ct.add(jTextField3);
ct.add(jLabel4);
ct.add(jTextField4);
ct.add(jbtn1);
ct.add(jbtn2);
ct.add(jbtn3);
ct.add(jTextField5);
ct.add(jList1); setSize(640,480);
setLocation(100,100);
setVisible(true); } JLabel jLabel1 = new JLabel();
FlowLayout flowLayout1 = new FlowLayout();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField(22);
JTextField jTextField2 = new JTextField(22);
JTextField jTextField3= new JTextField(22);
JTextField jTextField4 = new JTextField(22);
JTextField jTextField5 = new JTextField(55);
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JButton jbtn1=new JButton("添加进程");
JButton jbtn2=new JButton("清 除");
JButton jbtn3=new JButton("开始运行");
JList jList1 = new JList(); /* thread initthread(thread th[])
{
int i=0;
th[i].pid=jLabel1.getText();
th[i].priority=Integer.valueOf(jLabel3.getText());
th[i].rtime=Integer.valueOf(jLabel2.getText());
th[i].statu=Integer.valueOf(jLabel4.getText());
i++;
return th[i]; }
*/
public static void main(String[] args)
{
jFrame jf=new jFrame();
jf.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
}
}class Thread extends Thread
{
String pid;
int rtime;
int priority;
int statu; public void thread()
{}
public void thread(String pid,int Runtime,int priority,int statu)
{
this.pid=pid;
this.rtime=rtime;
this.priority=priority;
this.statu=statu;
} public String disp() throws Exception
{
for(int i=0;i<=rtime/1000;i++)
{
//Thread.sleep(1000); }
String str="当前运行的进程为"+this.pid+"运行时间"+this.rtime/1000+"秒";
return str;
}
void run()
{
}
}
提示是找不到构造方法所要的参数。
请各位救我一命,实验做到这里没办法下去了。
先谢过了。试验是做一个操作系统进程调度模拟
代码:import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.BorderLayout;
import java.util.*;public class jFrame extends JFrame { public jFrame() {
super("进程调度模拟");
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} private void jbInit() throws Exception {
Container ct=getContentPane();
ct.setLayout(new FlowLayout()); //int i=0; final ArrayList al=new ArrayList();
final Iterator ia=al.iterator();
jLabel1.setText("进程名:");
jLabel2.setText("运行时间:");
//jTextField1.setText("jTextField1");
jLabel3.setText("优先级:");
jLabel4.setText("进程状态:");
jTextField5.setEditable(false);
//this.getContentPane().setLayout(flowLayout1);
//this.getContentPane().add(jLabel1, null);
jbtn1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{ String th1pid=jTextField1.getText();
int th1priority=Integer.valueOf(jTextField3.getText());
int th1rtime=Integer.valueOf(jTextField2.getText());
int th1statu=Integer.valueOf(jTextField4.getText()); al.add(new thread());
ia.next().pid=jTextField1.getText();
//thread th1=new thread(); /* int i=0;
if(i<10)
{
th[i]=new thread();
th[i].pid=jTextField1.getText();
th[i].priority=Integer.valueOf(jTextField3.getText());
th[i].rtime=Integer.valueOf(jTextField2.getText());
th[i].statu=Integer.valueOf(jTextField4.getText());
i++;*/ //initthread(th);
jTextField1.setText(null);
jTextField2.setText(null);
jTextField3.setText(null);
jTextField4.setText(null);}
});
jbtn2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
jTextField1.setText(null);
jTextField2.setText(null);
jTextField3.setText(null);
jTextField4.setText(null); }});
jbtn3.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
try{
int j=0;
//jTextField5.setText(th[j].disp());
}
catch(Exception e1){}
}}); ct.add(jLabel1);
ct.add(jTextField1);
ct.add(jLabel2);
ct.add(jTextField2);
ct.add(jLabel3);
ct.add(jTextField3);
ct.add(jLabel4);
ct.add(jTextField4);
ct.add(jbtn1);
ct.add(jbtn2);
ct.add(jbtn3);
ct.add(jTextField5);
ct.add(jList1); setSize(640,480);
setLocation(100,100);
setVisible(true); } JLabel jLabel1 = new JLabel();
FlowLayout flowLayout1 = new FlowLayout();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField(22);
JTextField jTextField2 = new JTextField(22);
JTextField jTextField3= new JTextField(22);
JTextField jTextField4 = new JTextField(22);
JTextField jTextField5 = new JTextField(55);
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JButton jbtn1=new JButton("添加进程");
JButton jbtn2=new JButton("清 除");
JButton jbtn3=new JButton("开始运行");
JList jList1 = new JList(); /* thread initthread(thread th[])
{
int i=0;
th[i].pid=jLabel1.getText();
th[i].priority=Integer.valueOf(jLabel3.getText());
th[i].rtime=Integer.valueOf(jLabel2.getText());
th[i].statu=Integer.valueOf(jLabel4.getText());
i++;
return th[i]; }
*/
public static void main(String[] args)
{
jFrame jf=new jFrame();
jf.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
}
}class Thread extends Thread
{
String pid;
int rtime;
int priority;
int statu; public void thread()
{}
public void thread(String pid,int Runtime,int priority,int statu)
{
this.pid=pid;
this.rtime=rtime;
this.priority=priority;
this.statu=statu;
} public String disp() throws Exception
{
for(int i=0;i<=rtime/1000;i++)
{
//Thread.sleep(1000); }
String str="当前运行的进程为"+this.pid+"运行时间"+this.rtime/1000+"秒";
return str;
}
void run()
{
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货