小编Iro*_*che的帖子

Java App - 添加,删除,重新排序JButton的元素

我正在开发一个Java应用程序.

我用MockupScreens创建了这个界面.请看这些照片.

在此输入图像描述

在此输入图像描述

第一次,只有一个元素,用户必须输入信息(标题和描述),然后他开始按需要添加元素.他可以随时编辑元素信息.他也可以删除或更改这些元素的顺序......

如何创建像图片一样的东西?????

提前致谢.最好的祝福,

阿里.

我在Java Swing中了解这些部分.我的问题是如何动态插入这个按钮块. 在此输入图像描述

我明白了,我必须把JButton放在JPanel上,然后通过添加,删除和重新排序来操作JPanel ......所以Grid Layout将有效地在每个面板之后添加每个面板,但是考虑重新排序顺序会很困难...

请给我任何建议.:)


搜索后,我得到一个想法:

在此输入图像描述

让我们将这些JButton放在一个名为btnsUnit的JPanel中,然后通过添加,删除和重新排序来操作它......所以GridLayout可以高效地在每个JPanel之后添加每个JPanel.

这就是为什么我创建了一个新的JPanel,它将包含一个未知数量的ListbtnsUnit JPanel,我将10固定为最大数字.

当你回复我时,我正在做这些步骤.我没有到达在ListbtnsUnit JPanel中添加btnsUnit JPanel.

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;


public class setupDeviceList extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                setupDeviceList frame = new setupDeviceList(); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing jpanel jbutton

6
推荐指数
1
解决办法
1979
查看次数

防止JComboBox的弹出菜单从Java中关闭

我希望防止弹出窗口关闭以响应焦点转移.

附上一个代码示例.我的目标是能够展开组合框下拉菜单,然后选择文本字段,不要让下拉菜单消失.这可能吗?

import java.awt.BorderLayout;

import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JTextField;

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

    public ComboBoxPopupTest()
    {
        MyDialog dialog = new MyDialog();
        dialog.setVisible( true );
        MyComboBoxDialog window = new MyComboBoxDialog();
        window.setVisible( true );
    }


    private class MyDialog extends JDialog
    {
        public MyDialog()
        {
            setLayout( new BorderLayout() );
            JTextField textField = new JTextField("Text Field");
            textField.putClientProperty( "doNotCancelPopup", Boolean.TRUE );  // FIXME: I Don't prevent the pop-up from closing!
            add( textField, BorderLayout.CENTER …
Run Code Online (Sandbox Code Playgroud)

java swing

5
推荐指数
1
解决办法
493
查看次数

安全地将包导出到Java模块

我正在回答这个问题,我建议使用exports to语法来防止外部消费者访问模块之间内部使用的代码.

但是在进一步思考时,模块实现的唯一真正的安全检查是它与名称匹配.考虑这个我正在实现两个模块的例子:

module a {
    exports unsafe to b
}

module b {
    requires a
}
Run Code Online (Sandbox Code Playgroud)

该软件包unsafe包含暴露不安全的代码.有没有办法将其安全地导出到内部模块而不将其暴露在外部?

在上面的示例中,流氓实体可以简单地命名其模块b并获得对代码的访问(不安全).该JLS似乎并没有阐明任何可以阻止它.

java java-9 java-module

5
推荐指数
1
解决办法
97
查看次数

在 Gradle 构建中替换文件

我正在尝试用 Gradle 构建脚本生成的新文件替换我的资源文件夹 (src/main/resources) 中的文件。我在做这件事时遇到了麻烦;排除似乎被记住了,并阻止了我的新文件的添加。

这是一个说明行为的简短示例。

项目结构:

TestProject
-- src/main/java
---- entry
------ EntryPoint.java
---- run
------ HelloWorldTest.java
-- src/main/resources
---- test.properties // FILE TO REPLACE
Run Code Online (Sandbox Code Playgroud)

src/main/resources 中的 test.properties 内容:

Wrong File with extra text to make it obvious which one is being put into the jar based on size

构建.gradle:

apply plugin: 'java'

task makeProp {
    def propDir = new File(buildDir, "props")
    ext.propFile = new File(propDir, "test.properties")
    outputs.file propFile

    doLast {
        propDir.mkdirs()
        propFile.createNewFile()
        propFile.withWriter('utf-8') { writer ->
            writer.writeLine 'Right …
Run Code Online (Sandbox Code Playgroud)

java groovy build gradle

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

有条件的颜色背景JavaFX LineChart

我希望有条件地改变折线图的背景颜色.在给定的示例中,我正在修改图表,以便Y值> = 3的任何部分在后台显示为红色阴影:

LineChartJavaFXTest.java

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.chart.XYChart;
import javafx.stage.Stage;


public class LineChartJavaFXTest extends Application {

    @Override public void start(Stage stage) {
        stage.setTitle("Line Chart Sample");
        //defining the axes
        final NumberAxis xAxis = new NumberAxis();
        final NumberAxis yAxis = new NumberAxis();
        xAxis.setLabel("Seconds");
        yAxis.setLabel("Volume");
        //creating the chart
        final LineChart<Number,Number> lineChart = 
                new LineChart<Number,Number>(xAxis,yAxis);

        lineChart.setTitle("Test Chart");
        //defining a series
        XYChart.Series series = new XYChart.Series();
        //populating the series with data
        series.getData().add(new XYChart.Data(1, 0));
        series.getData().add(new XYChart.Data(2, 1));
        series.getData().add(new XYChart.Data(3, …
Run Code Online (Sandbox Code Playgroud)

css java javafx

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

创建索引时,带有mysql数据库迁移的实体框架失败

是什么在带有实体框架的MySQL中导致此错误?我可以生成迁移脚本并连接到数据库,但是当尝试创建索引时,它不像生成的SQL特别是“哈希”。

例:

CREATE index  `IX_Facility_ID` on `Contact.Address` (`Facility_ID` DESC) using HASH
Run Code Online (Sandbox Code Playgroud)

错误:

MySql.Data.MySqlClient.MySqlException(0x80004005):不正确使用空间/全文/哈希索引和显式索引顺序

有没有办法解决?这是EF 6和最新的mysql dll。

mysql mysql-connector entity-framework-6

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

如何基于ValueMember在ComboBox中设置选择?

我有一个具有以下结构的组合框。另外,我从另一个来源获取了fld_id,并基于该ID我需要在ComboBox中选择相应的项。我怎样才能做到这一点?

comboBoxCustomers.DataSource = customers;

comboBoxCustomers.ValueMember = "fld_id";

comboBoxCustomers.DisplayMember = "fld_name";
Run Code Online (Sandbox Code Playgroud)

例:

列表可能包含这些项目

fld_id   fld_name

65       Item1

68       Item2

69       Item3
Run Code Online (Sandbox Code Playgroud)

我需要将项目68设置为选中状态。

c# combobox winforms

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