上面有一个按钮 上一题 ,下一题 当按了 按钮下一题时 在TextArea 中显示出另一道题目 如本来是1 后显示2
按下上一题显示 前面显示的那道题目 当前是第2题 显示 第1题
按下上一题显示 前面显示的那道题目 当前是第2题 显示 第1题
解决方案 »
- java运算问题
- 如何用GridBagLayout实现这样的布局,在线等急 !!!
- 我在JAVA程序里调用自己写的函数,出现这样的错,是什么原因non-static method g(x) cannot be reference from a static
- 问下这个是啥用法
- 哪位大哥大姐知道getActionCommand()方法什么意思?
- 端口问题
- 这样的工具栏用什么做
- 请教一个关于线程画动画的问题。
- 2个问题,关于文件操作
- 大家给个提醒,谢谢了。同样的程序在main函数里执行和在servlet执行,结果是不一样的呢?
- Jpanel 的子类调用setBackground(Color.blue)的问题
- 帮我修改个GUI题目 谢谢
private String content; // 题目内容
private String key; // 答案
public Subject() {
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public String getKey() {
return key;
} public void setKey(String key) {
this.key = key;
}
}package com.sunshine;import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;public class Main extends JFrame {
private JPanel jContentPane;
private JPanel jp_jButtons;
private JScrollPane jsp_jTextArea;
private JTextArea jta_content;
private JButton jb_next;
private JButton jb_previous;
private ArrayList<Subject> subjects = new ArrayList<Subject>(); // 题库
private int counter = 0; // 游标
public Main(ArrayList<Subject> subjects) {
setSubjects(subjects);
init();
}
private void init() {
this.setSize(400, 300);
this.setTitle("测试");
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.pack();
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel(new BorderLayout());
jContentPane.add(getJp_jButtons(), BorderLayout.SOUTH);
jContentPane.add(getJsp_jTextArea(), BorderLayout.CENTER);
}
return jContentPane;
} private JPanel getJp_jButtons() {
if (jp_jButtons == null) {
jp_jButtons = new JPanel(new FlowLayout(FlowLayout.RIGHT));
jp_jButtons.add(getJb_previous());
jp_jButtons.add(getJb_next());
}
return jp_jButtons;
}
private JScrollPane getJsp_jTextArea() {
if (jsp_jTextArea == null) {
jsp_jTextArea = new JScrollPane(getJta_content());
}
return jsp_jTextArea;
}
private JTextArea getJta_content() {
if (jta_content == null) {
jta_content = new JTextArea(10, 20);
jta_content.setEditable(false);
jta_content.setLineWrap(true);
}
return jta_content;
} private JButton getJb_next() {
if (jb_next == null) {
jb_next = new JButton("下一题");
jb_next.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter++;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == subjects.size()-1) {
jb_next.setEnabled(false);
}
getJb_previous().setEnabled(true);
}
});
}
return jb_next;
} private JButton getJb_previous() {
if (jb_previous == null) {
jb_previous = new JButton("上一题");
jb_previous.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
counter--;
getJta_content().setText(subjects.get(counter).getContent());
if (counter == 0) {
jb_previous.setEnabled(false);
}
getJb_next().setEnabled(true);
}
});
}
return jb_previous;
}
public void setSubjects(ArrayList<Subject> subjects) {
this.subjects = subjects;
counter = 0;
if (subjects != null && subjects.size() > 0) {
getJta_content().setText(subjects.get(0).getContent());
}
if (subjects == null || subjects.size() < 2) {
getJb_next().setEnabled(false);
} if (subjects == null || counter == 0) {
getJb_previous().setEnabled(false);
}
} public static void main(String[] args) {
ArrayList<Subject> subjects = new ArrayList<Subject>();
Subject[] ss = new Subject[10];
for (int i = 0; i < ss.length; i++) {
ss[i] = new Subject();
ss[i].setContent("这是第" + (i+1) + "个题目");
ss[i].setKey("" + (i+1));
subjects.add(ss[i]);
}
new Main(subjects);
}}