标签: swing

JavaFX 仍然是用 Java 创建 GUI 应用程序的更好选择吗?

对于熟悉 Java 的开发人员来说,JavaFX 是一种非常强大的创建 GUI 应用程序的方法,但在 Java 较新版本中,javaFX 没有发生任何更新。而在 Java 13 中,之前的一些功能并未包含在内。

作为初学者,我应该学习 javaFX 或 Swing 或任何其他方式来创建 java GUI 应用程序

java swing javafx

0
推荐指数
1
解决办法
5523
查看次数

Java JButton 两个或多个图标

我想将两个或多个图标设置为一个 JButton(Java,Swing)。是否可以?

我添加了绘图中制作的图片。;-)

在此输入图像描述

java swing jbutton

0
推荐指数
1
解决办法
508
查看次数

更改 JSlider 的拇指和颜色?

我正在创建一个音乐播放器程序。

我已经使用创建了搜索栏JSlider

代码:

JSlider seek = new JSlider(JProgressBar.HORIZONTAL);  
seek.setOpaque(true);

seek.setMajorTickSpacing(0);
seek.setMinorTickSpacing(0);
 
seek.setBackground(Color.DARK_GRAY);
seek.setSize(100, 13);
seek.setLocation(6, 30);
Run Code Online (Sandbox Code Playgroud)

目前,它看起来像这样:

搜索栏

我只能改变JSlider使用setBackground()方法的背景。

我不知道如何更改拇指颜色、拇指形状、轨道颜色等。

我希望我的搜索栏看起来像这样:

带有圆形拇指和黄色的搜索栏

我怎样才能实现这个目标?

如果 不可能JSlider,是否可以创建一个JProgressBar具有可滑动拇指的?

java swing look-and-feel jslider

0
推荐指数
1
解决办法
2775
查看次数

为什么宽度为1的fillRect和drawLine不一样

我正在开发一个在 JFrame 上使用 Canvas 的 java gui 应用程序。我尝试在 Jframe 上绘制细矩形,并注意到它们并不总是显示相同的宽度。

这是我写的测试类的结果。左侧使用fillRect()绘制,宽度为1,右侧使用drawLine绘制。

帆布

这是我的测试类的代码。

import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferStrategy;

public class test {
    public static void main(String[]args){
        new test();
    }

    public test(){
        JWindow frame = new JWindow();
        frame.setSize(500,500);
        frame.setLocation(200,200);

        Canvas c = new Canvas();
        frame.add(c);

        frame.setVisible(true);

        new Thread(() -> {
            while(true) {
                BufferStrategy bs = c.getBufferStrategy();

                if (bs == null) {
                    c.createBufferStrategy(2);
                    bs = c.getBufferStrategy();
                }

                Graphics g = bs.getDrawGraphics();
                Graphics2D g2 = (Graphics2D) g;

                g2.setColor(Color.black);

                for(int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

java swing canvas

0
推荐指数
1
解决办法
140
查看次数

为什么我无法更改 JButton(禁用)文本颜色?

我开始编写 Java 程序。这是我的第一个窗口应用程序。我做了一个简单的井字棋游戏,我希望“o”按钮字体颜色为不同的颜色。但这不起作用。我可以更改背景颜色,但不能更改字体,为什么?

\n
package moje;\n\nimport java.awt.Color;\nimport java.awt.Font;\nimport java.awt.GridLayout;\nimport java.awt.event.ActionEvent;\nimport java.awt.event.ActionListener;\nimport java.awt.event.MouseEvent;\nimport java.awt.event.MouseListener;\nimport java.awt.print.PrinterJob;\n\nimport javax.swing.JButton;\nimport javax.swing.JFrame;\nimport javax.swing.JLayeredPane;\nimport javax.swing.JTextField;\n\npublic class Kolko_i_krzyzyk extends JFrame implements ActionListener {\n    \n    static JTextField tekst;\n    static JLayeredPane ekran = new JLayeredPane();\n    static JButton button = new JButton();\n    static int licznik=0;\n\n    \n    public Kolko_i_krzyzyk () {\n        super("K\xc3\xb3\xc5\x82ko i krzy\xc5\xbcyk");\n        ekran = new JLayeredPane();\n        setVisible(true);\n        setSize(800, 800);\n        setDefaultCloseOperation(EXIT_ON_CLOSE);\n        setResizable(false);\n        \n        //Siatka podzielona 3 na 3\n        setLayout(new GridLayout(3,3));\n        \n        //Tworzenie 9 przycisk\xc3\xb3w\n        for(int i = 1; i<=9; i++) {\n …
Run Code Online (Sandbox Code Playgroud)

java swing

0
推荐指数
1
解决办法
784
查看次数

有没有办法调用 JTextField.setText() 而不触发 DocumentListener 的removeupdate()?

实际上,我正在通过这个小项目来学习 Java Swing API。

这是代码:

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

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.awt.*;
import com.userView.Utilities;

public class MobileNumberValidation extends JFrame {

    private JButton clearButton ;
    private JTextField mobileNumberField ;
    private JLabel mobileNumberLabel ;
    private JLabel errorMessage ;


    MobileNumberValidation(){

        //Intializing the instance variables
        clearButton       = new JButton("clear");
        mobileNumberField = new JTextField();
        mobileNumberLabel = new JLabel("TEL");
        errorMessage      = new JLabel("Tel is empty");

        setSize(500, 500);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(null);

        //add components to Jframe
        add(mobileNumberField); …
Run Code Online (Sandbox Code Playgroud)

java swing jtextfield documentlistener

0
推荐指数
1
解决办法
270
查看次数

如果表格位于 JPanel 中,如何将其移至左侧?

JPanel我正在尝试将桌子移到也在窗口内的桌子的左侧

\n

我得到的是这样的:\n我的工作

\n

我想要的是这样的:

\n

我想要的是

\n

我尝试使用.setBounds方法但它不起作用。有人知道该怎么办吗?

\n

这是我的代码:

\n
package Modulos;\nimport paneles.*;\nimport javax.swing.*;\n\npublic class ModuloAdmin extends JFrame {\n\n    public ModuloAdmin(){\n        //Crear tabla\n        String[][] datosprueba = {\n                {"001","Carlitos", "Casa","51202011"},\n                {"001","Carlitos", "Casa","51202011"}\n        };\n\n        String[] TituloColumna = {"C\xc3\xb3digo", "Nombre", "Direcci\xc3\xb3n", "Tel\xc3\xa9fono"};\n        JTable TablaSucursales = new JTable(datosprueba,TituloColumna);\n\n        //Contenido de las pesta\xc3\xb1as\n        JPanel PanelSucursales = new JPanel();\n\n        PanelSucursales.add(TablaSucursales);\n        PanelSucursales.add(new JScrollPane(TablaSucursales));\n        JPanel PanelProductos = new JPanel();\n        PanelProductos.add(new JLabel("Panel productos"));\n        JPanel PanelClientes = new JPanel();\n        PanelClientes.add(new JLabel("Panel Clientes"));\n        JPanel PanelVendedores = new …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel layout-manager

0
推荐指数
1
解决办法
151
查看次数

如何自定义一个带有圆角、没有标题、没有控制按钮的 JDialog

如何自定义JDialog圆角、没有标题、没有控制按钮的 a。就像下面这个一样。

所需的 JDialog

java swing

0
推荐指数
1
解决办法
543
查看次数

使用 java.awt 和 java.swing 的异常 java gui 垃圾邮件

我正在按照 youtube 上的教程来学习 java guis,并且我正在制作一个登录屏幕。我正在测试登录按钮,使其在控制台中打印,但我按下了。我正确地遵循了整个教程并尝试了各种方法。该代码正在向视频中显示的寡妇发送垃圾邮件。

视频链接:https://hriday.tk/2022-01-09%2019-56-32.mkv

代码 :

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Login implements ActionListener{
    public Login() {
        JPanel panel = new JPanel();
        JFrame frame = new JFrame();
        JLabel Ulabel = new JLabel("UserName");
        JLabel Plabel = new JLabel("PassWord");
        JTextField Utext = new JTextField(20);
        JPasswordField Ptext = new JPasswordField(20);
        JButton login = new JButton("Login");
        JLabel success = new JLabel("");
        
        panel.setLayout(null);
        panel.add(Ulabel);
        panel.add(Utext);
        panel.add(Plabel);
        panel.add(Ptext);
        panel.add(login);
        panel.add(success);
        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing awt

0
推荐指数
1
解决办法
215
查看次数

Java 中的贪吃蛇游戏,但我的重启按钮不起作用

我的游戏重启按钮不起作用,点击它时它会倍增。我不太了解 Java 我认为自己很好。

游戏主要内容

package snake_game;

public class snake {

  public static void main(String arg[]) {

    new GameFrame();
    // is exacly the same as frame f = new frame();
    // this is shorter and does the same job

  }
}
Run Code Online (Sandbox Code Playgroud)

GamePanel

package snake_game;

// import java.awt.event.ActionEvent;
// import java.awt.event.ActionListener;
// import java.awt.Graphics;
// import java.awt.event.KeyAdapter;
// import java.awt.event.KeyEvent;
// or I could write simply 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;

import javax.swing.JPanel;

public class GamePanel extends JPanel implements …
Run Code Online (Sandbox Code Playgroud)

java swing restart jbutton

0
推荐指数
1
解决办法
1161
查看次数