标签: jbutton

如何将JPanel绘制为Nimbus JButton?

在Nimbus的外观和感觉JButtons有一个非常整洁和准确的外观,圆形边框和漂亮的背景.
我想渲染一个具有相同外观的JPanel(显然它不会有按下状态等).
我有什么选择?

java swing jpanel jbutton nimbus

3
推荐指数
1
解决办法
868
查看次数

来自MenuItem/MenuBar和Sound Player的Java Exit按钮

好吧,我在视频/学校的java学习中作为初学者编写了这段代码,我得到了一些问题.

1 =>为什么文件>退出按钮不起作用并且有一个小箭头,好像有一些孩子一样?大退出按钮使用相同的功能.我从这里受到启发:http://www.youtube.com/watch? src_vid = FB_wJpIdA8k&feature = iv&annotation_id = annotation_40248&v = dwLkDGm5EBc

2 =>如何让该按钮变小?当我调整它时,它会更大.

3 =>有谁知道一个简单的声音播放器库?那么当我按下那个按钮播放声音时?我已尝试过一些网络示例,例如http://www.developer.com/java/other/article.php/2173111/Java-Sound-Playing-Back-Audio-Files-using-Java.htm并且不知道如何使它变得简单,并在SoundPlay(sound.au)等各处使用它;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class form4 
{
    public static void main(String[] args)
    {
        // Frame
        JFrame frame = new JFrame("Menu");
        frame.setSize(300,300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Just create menubar
        JMenuBar menubar = new JMenuBar();
        frame.setJMenuBar(menubar);

        // Add an JMenu
        JMenu file = new JMenu("File");
        menubar.add(file); …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jbutton actionlistener

3
推荐指数
1
解决办法
4万
查看次数

在Java中,每次我向JPanel添加多个东西时,第二件事都没有创建?

我创建了一个JPanel并添加了几个简单的按钮,并附加了监听器.然后我决定将一个Image添加到我的面板的背景中,所以我将我的JPanel切换到了ImagePanel.按钮正在JPanel上工作,但现在我为要显示的背景图像添加了一堆代码,按钮不再显示.我没有更改任何按钮添加代码,所以我很困惑为什么按钮不再显示.这也发生在我单独的GameFrame类中.我在面板中添加了2个矩形组件,然后是3个按钮.对于该面板,只有按钮显示,尽管在添加按钮之前矩形工作.我可以每个面板只有一种类型的JComponent吗?我真的不明白为什么这样做.感谢您的时间.

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TitleFrame extends JFrame
{
    private ImagePanel panel;
    private JButton mage;
    private JButton rogue;
    private JButton warrior;
    private Image image;

    public TitleFrame()
    {
        JFrame frame = new JFrame();

        frame.setSize(1024, 768);
        frame.setTitle("Title Screen");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        createMageButton();
        createRogueButton();
        createWarriorButton();
        ImagePanel panel = new ImagePanel(new ImageIcon("C:/Users/Derek Reitz/Documents/Eclipse Projects/GameApp/src/background.jpg").getImage());
        panel.add(mage);
        panel.add(rogue);
        panel.add(warrior);
        panel.paintComponent(frame.getGraphics());
        frame.getContentPane().add(panel);
    }

    private void createRogueButton() {
        rogue = new JButton("Select Rogue"); …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel jframe jbutton

3
推荐指数
1
解决办法
686
查看次数

如何使 Jbutton 填充 JPanel 以使按钮之间没有空格?

我正在做这样的事情:

JFrame frame = new JFrame();
frame.setSize(216, 272);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel jp = new JPanel();
GridLayout gl = new GridLayout(10, 2);
jp.setLayout(gl);

//this an an 18x18 png
Image img = ImageIO.read(new File("C:\\Users\\Josh\\workspace\\src\\red.png")); 

for(int ii=0; ii < 20; ii++)
{
    JPanel buttonPanel = new JPanel();
    JButton jb1 = new JButton(new ImageIcon(img));

    jb1.setBorder(BorderFactory.createEmptyBorder());

    buttonPanel.add(jb1);
    jp.add(buttonPanel);
}

frame.add(jp);
Run Code Online (Sandbox Code Playgroud)

其产生:

在此输入图像描述

无论我如何调整图像大小或使用frame.size(),我都无法消除垂直间隙。一个块的顶部和另一个块的底部之间始终存在空间。

在此输入图像描述

有谁知道如何删除一个按钮底部和下一个按钮顶部之间的空格?

java swing jpanel jbutton layout-manager

3
推荐指数
1
解决办法
4202
查看次数

是否可能:通过方法调用触发JButton事件 - 而不是JButton点击?

是否可以通过方法调用触发事件?(以及点击).下面是一个示例代码.它不是一个有效的代码,它只是演示了我的想象.

import java.awt.event.*;
import javax.swing.*;

public class Game extends JFrame
{

    JButton leftButton = new JButton("left");
    JButton rightButton = new JButton ("right");

    private JButton Move(String moveClickString)
    {
        JButton chosenButton = new JButton();

        if (moveClickString.equals("left"))
        {
            chosenButton = leftButton;
        }
        if (moveClickString.equals("right"))
        {
            chosenButton = rightButton;
        }
        return chosenButton;
    }

    public void actionTrigger(JButton buttonClick)
    {
        buttonClick.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                Object buttonPressed = e.getSource();

                if (buttonPressed == leftButton);
                {
                    //do left
                }

                if (buttonPressed == rightButton);
                {
                    //do …
Run Code Online (Sandbox Code Playgroud)

java events swing jbutton

3
推荐指数
1
解决办法
1万
查看次数

如何在JScrollPane上添加JButton?

嗨,我想在这里制作桌面应用程序我在使用jscrollpane.我想在jscrollpane中添加multipul按钮.我只能添加单个按钮,我该怎么做

我的代码如下

 public class AddingToJScrollPane {

  public static void main(String args[]) {
    JFrame frame = new JFrame("Tabbed Pane Sample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JLabel label = new JLabel("Label");
    label.setPreferredSize(new Dimension(1000, 1000));
    JScrollPane jScrollPane = new JScrollPane(label);

    JButton jButton1 = new JButton("Hello");
     JButton jButton2 = new JButton("Hello");

    jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    jScrollPane.setViewportBorder(new LineBorder(Color.RED));
    jScrollPane.getViewport().add(jButton1,jButton2);

    frame.add(jScrollPane, BorderLayout.NORTH);
    frame.setSize(400, 150);
    frame.setVisible(true);
  }
}
Run Code Online (Sandbox Code Playgroud)

更新的代码

public class AddingToJScrollPane {

  public static void main(String args[]) {
    JFrame frame = new JFrame("Tabbed Pane Sample");
    JPanel panel = new JPanel();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setLayout( …
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane jbutton

3
推荐指数
1
解决办法
6048
查看次数

JButton 更改默认边框

我正在使用 SystemLookAndFeel,它在我的按钮周围设置默认边框。

现在我想要一个股票黑色边框,但是当我设置边框时,它只会在默认边框周围添加我的新边框,所以我有两个。

如何在不删除 LookAndFeel 的情况下更改或删除边框?

另外:我正在使用 java 7 和 Win 8.1

java swing border look-and-feel jbutton

3
推荐指数
1
解决办法
4万
查看次数

如何使 JButton 上的图标和文本在左侧对齐

我想让文字和图标对齐电梯侧只有这里是代码

import java.awt.Dimension;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class LeftSide
{
public LeftSide()
{
JFrame frame = new JFrame("Button");
JPanel panel = new JPanel();
JButton button = new JButton("Submit");
button.setPreferredSize(new Dimension(200, 30));
button.setIcon(new ImageIcon(this.getClass().getResource("submit.gif")));
panel.add(button);
frame.add(panel);
frame.setVisible(true);
}

public static void main(String[] args)
{
new LeftSide();
}
Run Code Online (Sandbox Code Playgroud)

}

如果我运行此代码,我将在按钮中心的按钮上获得图标和文本,因此如何使它们位于左侧;

在此处输入图片说明

java swing jbutton

3
推荐指数
1
解决办法
4465
查看次数

jTable 中的 jButton 不可点击

我遇到了问题,我无法单击按钮。它们的行为就像只是带有按钮设计的文本字段。

\n\n

我的Main

\n\n
    tableModStudents = (DefaultTableModel) studentsTable.getModel();\n    studentsTable.getColumn(studentsTable.getColumnName(8))\n                 .setCellRenderer(new JButtonRenderer());\n    studentsTable.getColumn(studentsTable.getColumnName(8))\n                 .setCellEditor(new JButtonEditor());\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的CellRenderer

\n\n
public class JButtonRenderer implements TableCellRenderer {    \n    private JButton button = new JButton();\n\n    public Component getTableCellRendererComponent(JTable table,\n            Object buttonText, boolean isSelected, boolean hasFocus, \n            int row, int column) {\n        table.setShowGrid(true);\n        button.setText("Details");\n        button.setToolTipText(buttonText.toString());\n        return button;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的CellEditor

\n\n
    public class JButtonEditor extends AbstractCellEditor implements TableCellEditor {\n\n    private JButton button;\n    private String txt;\n\n    public JButtonEditor() {\n        super();\n        button …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jbutton

3
推荐指数
1
解决办法
2126
查看次数

在 Java Swing 中更改 JButton 的边框颜色保留插图

我想在 Java Swing 中更改 JButton 组件的边框颜色。

我尝试了以下方法:

package com.example.test;

import java.awt.Color;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class Test extends JFrame {

    public Test() {

        JPanel panel = new JPanel();
        JButton button1 = new JButton("Test Button 1");
        JButton button2 = new JButton("Test Button 2");
        button2.setBorder(BorderFactory.createLineBorder(Color.RED));

        panel.add(button1);
        panel.add(button2);

        this.add(panel);


        setSize(400, 400);
        setVisible(true);

    }

    public static void main(String[] args) {

        try {
            UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() );
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, …
Run Code Online (Sandbox Code Playgroud)

java swing border jbutton

3
推荐指数
1
解决办法
751
查看次数