我正在使用Java创建一个便利贴应用程序.
我想做什么:
我想在textArea每次点击增加大小时增加文本的大小.我会明白如何做相反的事情.
短代码:
JButton incButton = new JButton("+");
fontFrame.add(incButton);
incButton.addActionListener(new fontIncAction());
JButton DecButton = new JButton("-");
fontFrame.add(DecButton);
//textArea.setFont( Font("Serif", Font.PLAIN, fz));
}
}
private class fontIncAction implements ActionListener{
public void actionPerformed(ActionEvent e){
textArea.setFont(new Font("Serif",Font.PLAIN,20));
}
}
Run Code Online (Sandbox Code Playgroud) 如何获得鼠标悬停效果JButton应该类似于我们将在Stackoveflow鼠标悬停标签时获得的效果?例如

我有一个JPanel,其中包含一个带有ActionListener的JButton.经过一定的点击后,需要删除JButton.但是,当我调用remove()时,我得到一个不会消失的按下按钮.
这是我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class SetuPanel extends JPanel {
private JTextField user = new JTextField();
private JLabel label = new JLabel();
private JButton submit = new JButton("Submit");
private int phase = 0;
public SetuPanel() {
super(new FlowLayout());
user.setPreferredSize(new Dimension(120,22));
submit.addActionListener(new Submit());
label.setText("Enter Desired Username:");
add(label);
add(user);
add(submit);
}
private void remov(JComponent jc) {
remove(jc);
validate();
}
private class Submit implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println(user.getText());
if (phase == 2) { …Run Code Online (Sandbox Code Playgroud) 我正在使用swing制作java桌面应用程序.我想把png设置为jbutton.但我无法设置透明图像.我想在android中像set background null那样做,所以可以设置透明图像.
下面的代码是在选择3个按钮中的任何一个时更改背景颜色:红色,绿色或蓝色.当我选择其中任何一个时,实际上什么也没发生.但是,从JButtons更改为JRadioButtons或JToggleButtons确实有效.谁知道为什么?是因为JButton.isselected()方法被窃听并且它总是返回false?我感谢任何帮助......谢谢.
public class bgcolor2 extends JFrame
{
private static final int FRAME_WIDTH = 300;
private static final int FRAME_HEIGHT= 400;
private ActionListener listener;
private JButton greenbutton;
private JButton redbutton;
private JButton bluebutton;
private JPanel colorpanel;
private JPanel buttonpanel;
public bgcolor2()
{
colorpanel = new JPanel();
add(colorpanel,BorderLayout.CENTER);
class bgcolorlistener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
changebgcolor();
}
}
listener=new bgcolorlistener();
createbuttons();
setSize(FRAME_WIDTH,FRAME_HEIGHT);
}
public void createbuttons()
{
greenbutton = new JButton("Green");
greenbutton.addActionListener(listener);
bluebutton = new JButton("Blue");
bluebutton.addActionListener(listener);
redbutton = …Run Code Online (Sandbox Code Playgroud) 如何获取默认边框JButton?
一个例子是:
Border border = new JButton().getBorder();
Run Code Online (Sandbox Code Playgroud)
但是我可以不创建新按钮吗?
我试图将文本分配给循环内的按钮,但我得到一个NullPointerException.我已经在类的构造函数中初始化了按钮数组,在initilizatoin之后,我调用了以下方法.这是我收到错误的代码.
public class Alfred
{
private String names[]={"nfs","gta","maxpayne","hitman"};
private JButton but[];
public Alfred()
{
...
but= new JButton[4];
AssignLettersToButtons();
}
private void AssignLettersToButtons()
{
for(int i=0;i<names.length;i++)
{
but[i].setText(names[i]); // error
pane1.add(but[i]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
按钮数组和名称数组的长度相同.这个例外的原因是什么,我该如何解决?
问候
我想将鼠标悬停在我的GUI(地图)上的一些JButton上,并显示该位置的名称,例如曼彻斯特和伦敦.我有一个按钮的代码,但它不适用于多个按钮,并打印out所有按钮位置的最后一条消息(因为我有10个按钮).
如果button1为true,则通过我的paintComponent()方法在指定区域中的GUI上绘制文本.
我该如何解决这个问题?
button1.addMouseMotionListener(this);
button2.addMouseMotionListener(this);
Run Code Online (Sandbox Code Playgroud)
public void mouseMoved(MouseEvent arg0)
{
if(button1.contains(arg0.getPoint()))
{
button1 = true;
out = "test 1";
repaint();
}
if(!button1.contains(arg0.getPoint()))
{
b1 = false;
out = " ";
repaint();
}//same for all 10 buttons but change variables
}
Run Code Online (Sandbox Code Playgroud) 这是我的代码,这是非常简单,它只是创造了JFrame一个JTextArea在中心.
if(!txtSource.getText().trim().equals("") && txtSource != null)
即使我在JTextArea中输入了文本,也永远不会满足.
如果JTextArea有一些文本,我只想执行methodA().
private Container content;
private JTextArea txtSource;
public Test() {
this.setTitle("Test");
this.setSize(600,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
content = this.getContentPane();
content.add(getTextArea(), BorderLayout.CENTER);
content.add(button(), BorderLayout.SOUTH);
this.setVisible(true);
}
private JTextArea getTextArea() {
JTextArea txtSource = new JTextArea(20, 80);
return txtSource;
}
private JButton button() {
JButton btn = new JButton("Click me");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(!txtSource.getText().trim().equals("") && txtSource != null) {
methodA();
} else {
System.out.println("Please paste your script …Run Code Online (Sandbox Code Playgroud) 请帮助我了解如何让我的JButton多次工作?
截至目前我只能在每次点击按钮时替换面板一次,但是需要这样做:当用户按btnNext我要更改面板,然后在另一个btnNext按下更改面板后,同样适用于btnBack.
谢谢.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTabbedPane;
public class beta1 extends JFrame implements ItemListener, ActionListener {
private final JButton btnNext, btnBack;
private JButton btnNext2;
private JButton btnAbout;
private final JRadioButton rb1, rb2, rb3, rb4, rb5, rb6;
private final JCheckBox chk1, chk2, chk3, chk4, chk5, chk6, chk7, …Run Code Online (Sandbox Code Playgroud)