小编Rob*_*bin的帖子

设置JTextArea的固定宽度,而高度应自动调整为其内容

当我运行下面的示例代码时,JTextArea的宽度是固定的(100px),而其高度是动态调整的,因为我在其中键入了一些文本.

例如,我从这开始:

--------------------
| some text        |
--------------------
Run Code Online (Sandbox Code Playgroud)

当我输入更多文本时,JTextArea的高度会扩展,以便在保留宽度的同时适合内容:

--------------------
| some text, some  |
| other longer text|
| etc...           |
--------------------
Run Code Online (Sandbox Code Playgroud)

如何加倍JTextArea的宽度?当我这样做时,通过改变preferredSize高度不再是动态的.

public class TestTextArea extends JFrame {

    public static void main(String[] args) {
        new TestTextArea().setVisible(true);
    }

    public TestTextArea() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(0,0,800,600);
        setContentPane(createPane());
    }

    protected Container createPane() {
        JTextArea textArea = createTextArea();

        // ------------------------------------------
        // UNCOMMENT TO DOUBLE THE WIDTH OF JTextArea

//        Dimension oldPrefSize = textArea.getPreferredSize();
//        Dimension newPrefSize = new Dimension(oldPrefSize.width * 2, oldPrefSize.height); …
Run Code Online (Sandbox Code Playgroud)

java swing jtextarea

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

Keycloak 通过 Authzclient 检查权限

我正在尝试通过 keycloak authzclient 从 keycloak 服务器检查用户权限。但是不断失败,现在我不确定我是否对这个过程有一些误解。

AuthzClient authzClient = AuthzClient.create();
String eat = authzClient.obtainAccessToken("tim", "test123").getToken();

AuthorizationResource resource = authzClient.authorization(eat);

PermissionRequest request = new PermissionRequest();
request.setResourceSetName("testresource");

String ticket = authzClient.protection().permission().forResource(request).getTicket();
AuthorizationResponse authResponse = resource.authorize(new AuthorizationRequest(ticket));

System.out.println(authResponse.getRpt());
Run Code Online (Sandbox Code Playgroud)

最后一次调用 authResponse.getRpt() 失败并显示 403 forbidden。但是管理控制台中的以下设置评估为 Permit?

钥匙斗篷评估设置

客户端配置是:

{
  "realm": "testrealm",
  "auth-server-url": "http://localhost:8080/auth",
  "ssl-required": "external",
  "resource": "tv",
  "credentials": {
    "secret": "d0c436f7-ed19-483f-ac84-e3b73b6354f0"
  },
  "use-resource-role-mappings": true
}
Run Code Online (Sandbox Code Playgroud)

以下代码:

AuthzClient authzClient = AuthzClient.create();
String eat = authzClient.obtainAccessToken("tim", "test123").getToken();

EntitlementResponse response = authzClient.entitlement(eat).getAll("tv");
String rpt = response.getRpt();

TokenIntrospectionResponse requestingPartyToken …
Run Code Online (Sandbox Code Playgroud)

java permissions keycloak

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

如何使用 Typedoc 链接到另一个模块

在 Typedoc 中,您可以使用以下方式链接到另一个类:

  • [[ClassName]]
  • {@link ClassName}

该类甚至可以属于另一个模块。

然而我不知道如何链接到

  • 另一个模块
  • 从另一个模块导出的函数

所以假设你有 2 个d.ts文件:

Foo.d.ts

/**
 * I want to link to:
 * the [[Bar]] module //does not work
 * the {@link Bar} module //does not work
 * the [[Bar.foobar]] function //does not work
 * the {@link Bar.foobar]] function //does not work
 */
export class Foo{}
Run Code Online (Sandbox Code Playgroud)

bar.d.ts

export function foobar(): string;
Run Code Online (Sandbox Code Playgroud)

执行此操作的正确语法是什么?或者 Typedoc 不支持这个?

typescript typedoc

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

给出jRadioButton选项的jButton的ActionEvent

所以基本上,我正在尝试用GUI创建一个简单的程序,让你在两个jRadioButtons作为选择时做出选择,其中两个中的任何一个都以与视觉小说类似的方式导致相应的故事情节.然而问题是我无法将jButton的想法与jRadioButton的选择联系起来.

这个概念是这样的:在一个框架中,有一个jTextArea显示形成故事情节的文本字符串,它提供了两个选项可供选择,由两个jRadioButtons表示,然后必须由jButton执行.

到目前为止,我在JLadioButton的ActionListener中放置的唯一逻辑是,一旦点击jRadioButton而jButton故意为空,就必须禁用另一个逻辑.任何人都有任何类似的程序或模块他/她想分享,至少,这个逻辑在程序上说?

java swing jbutton actionlistener jradiobutton

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

Swing 样本表格申请

我想出了下面的代码:

    String[] labels = {"Name: ", "Fax: ", "Email: ", "Address: "};
    int numPairs = labels.length;

    JFrame frame = new JFrame("SpringDemo1");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Set up the content pane.

    Container contentPane = frame.getContentPane();
    SpringLayout layout = new SpringLayout();
    contentPane.setLayout(layout);

    for (int i = 0; i < numPairs; i++)
    {
        JLabel lable = new JLabel(labels[i]);
        contentPane.add(lable);
        contentPane.add(new JTextField(15));
    }
    //Display the window.
    frame.pack();
    frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

期待:

在此输入图像描述

我得到什么:
默认:

在此输入图像描述


调整大小时:

在此输入图像描述

结果现在与代码实际/通常的样子无关!

我还尝试复制粘贴并运行现成的代码:从这里下载:

结果如下:

在此输入图像描述

java swing

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

从JTable检索数据

我试图从Java中的表中获取数据.我已经能够获取数据,但是当它被输出时,它自己连接起来.如果数据是"admin",则输出为"adminadmin".下面是代码.有人能告诉我这是什么问题吗?

package sample;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import net.proteanit.sql.DbUtils;

public class Table extends JFrame{
    JTable table;
    Connection conn = null;
    ResultSet rs = null;
    PreparedStatement pst = null;

    private int row;
    private String name, status;

    private void connect(){
        conn = myconnection.ConnectDb();
    }


    public void mouseClicked(MouseEvent e) {
        table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
        int sel = table.getSelectedRow();
        name = table.getModel().getValueAt(sel, 0).toString();
        System.out.print(name);
    }
});
    }

    private …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

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