嗨,我是最后一年的工科学生,虽然我学过java,但我对其应用的了解还很不成熟。但是,我必须使用java作为我的项目。这是我写的前端代码:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.util.*;
public class ex extends Applet
{
static Frame f;
DrawCanvas can;
SetControls cont;
public void init()
{
can=new DrawCanvas();
setLayout(new BorderLayout());
add("Center", can);
add("North", cont = new SetControls(can, f));
}
public void destroy()
{
remove(cont);
remove(can);
}
public void start()
{
cont.setEnabled(true);
}
public void stop()
{
cont.setEnabled(false);
}
public void processWindowEvent(AWTEvent e)
{
if (e.getID() == Event.WINDOW_DESTROY)
{
System.exit(0);
}
}
public static void main(String args[])
{
f = new Frame("Title");
ex fe = new ex();
fe.init();
fe.start();
f.add("Center", fe);
f.setSize(1500,1500);
f.show();
}
}
class DrawCanvas extends Canvas
{
//declaration of variables
public DrawCanvas()
{
}
public void paint(Graphics g)
{
//various flags are set for functions to be called and what shud
//be drawn when those functions are called
}
}
class SetControls extends Panel implements ActionListener
{
TextArea text1;
TextField txt;
Button load, init1, cluster,exit;
Label head, vig;
//declaration of variables used
FileDialog fc;
String fname;
Frame f;
DrawCanvas canvas;
public SetControls(DrawCanvas can, Frame f)
{
//initialization of variables used
canvas = can;
this.f = f;
head = new Label("Clustering of Genes:");
cluster = new Button("Cluster Now");
load = new Button("Load");
init1 = new Button("Filter");
exit = new Button("Exit");
txt = new TextField(2);
text1 = new TextArea(5,80);
vig = new Label("Parameter");
load.addActionListener(this);
init1.addActionListener(this);
txt.addActionListener(this);
cluster.addActionListener(this);
exit.addActionListener(this);
add(head);
add(load);
add(init1);
add(text1);
add(vig);
add(txt);
add(cluster);
add(exit);
}
public void actionPerformed(ActionEvent ae)
{
String str = ae.getActionCommand();
System.out.println("Command: " + str);
if(str.equals("Load"))
{
text1.setText("Loading microarray data file...");
fc = new FileDialog(f, "Choose a file", FileDialog.LOAD);
fc.setDirectory(".");
fc.setVisible(true);
fname = fc.getFile();
//function call to read the file
text1.setText("Input Data File Loaded: " + fname);
}
else if((str.equals("Filter")||str.equals("Cluster Now")))
{
if(str.equals("Filter"))
{
//function calls and setting of text are
}
else
{
//function calls and setting of text area
}
}
else{
//call close function when exit is pressed
}
}
}
我知道你在想我为什么使用AWT而不是挥杆,但此刻我对AWT感到更舒服。到目前为止,代码工作得很好。但问题是,当我按下其中一个按钮时,显示的信息很多,超出了框架;所以我想添加滚动条或滚动条,以便我可以向下滚动以查看其余信息。我尝试了很多东西,比如f.add(new ScrollPane())等,但是没有一个能正常工作。请帮我!
答案 0 :(得分:2)
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Scrollbar;
public class AWTScrollbar {
public static void main(String[] args) {
Frame frame = new Frame("Scrollbar");
FlowLayout layout = new FlowLayout();
frame.setLayout(layout);
Label label = new Label("Scrollbar");
frame.add(label);
Scrollbar scrollbar = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 255);
frame.add(scrollbar);
frame.setVisible(true);
frame.pack();
}
}
这可能会对你有用:)