对于熟悉 Java 的开发人员来说,JavaFX 是一种非常强大的创建 GUI 应用程序的方法,但在 Java 较新版本中,javaFX 没有发生任何更新。而在 Java 13 中,之前的一些功能并未包含在内。
作为初学者,我应该学习 javaFX 或 Swing 或任何其他方式来创建 java GUI 应用程序
我正在创建一个音乐播放器程序。
我已经使用创建了搜索栏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
具有可滑动拇指的?
我正在开发一个在 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 程序。这是我的第一个窗口应用程序。我做了一个简单的井字棋游戏,我希望“o”按钮字体颜色为不同的颜色。但这不起作用。我可以更改背景颜色,但不能更改字体,为什么?
\npackage 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 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) JPanel
我正在尝试将桌子移到也在窗口内的桌子的左侧
我得到的是这样的:\n
我想要的是这样的:
\n我尝试使用.setBounds
方法但它不起作用。有人知道该怎么办吗?
这是我的代码:
\npackage 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) 如何自定义JDialog
圆角、没有标题、没有控制按钮的 a。就像下面这个一样。
我正在按照 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 我认为自己很好。
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)