标签: custom-component

如何在没有JFrame的情况下创建自定义浮动Swing组件?

我想创建一个自定义的swing组件,例如桌面小部件,它不需要JFrame(或扩展它)来打印在屏幕上.

我不想扩展JFrame,因为我的组件非常简单,JFrame实现了许多我不需要的功能.

我是谁开始的?我应该延长哪一堂课?

非常感谢

编辑---------------------------------------

多谢你们!

我会检查你发送的参考文献.另外,是否可以在没有swing API的情况下在屏幕上绘制java?

java swing uicomponents custom-component

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

Delphi TCollection-可以防止在运行时更改项目吗?

使用delphi 7,我有一组TCollection / TCollectionItem后代。它们只能在设计时设置,决不能在运行时修改。我怎样才能做到这一点?设计时应始终允许进行任何需要的编辑,但是在运行时中,我不希望能够添加,删除或重新索引集合中的任何项目。每个项目的属性,是的,我确实希望启用它们。但是更改实际项目只能在设计时进行。

delphi readonly delphi-7 tcollection custom-component

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

如何以编程方式添加到布局复合组件Android?

我创建了一个复合组件Box,我想添加到布局中.BoxXML:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayoutForBlock"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" android:background="@drawable/screen_background" android:layout_marginLeft="5dp" android:layout_marginTop="5dp">
        <ImageButton
            android:id="@+id/imageButtonContent"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_gravity="center_horizontal"
            android:scaleType="fitCenter"
            android:src="@drawable/beach_bed" android:background="@drawable/buttonbackground" android:clickable="true" android:layout_margin="5dp" android:contentDescription="@string/sample_text"/>
        <TextView
            android:id="@+id/textViewContent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/sample_text"
            android:textColor="@color/deep_blue" android:layout_margin="5dp"/>
    </LinearLayout>
</merge>
Run Code Online (Sandbox Code Playgroud)

Box 类:

public class Box extends LinearLayout  {

    private TextView textContent;
    private ImageView imageContent;

    public Box(Context context, AttributeSet attrs) {
        super(context, attrs);
        ((Activity)getContext()).getLayoutInflater().inflate(R.layout.box, this);
        setupViewItems();
    }

    private void setupViewItems() {
        textContent = (TextView) findViewById(R.id.textViewContent);
        imageContent = (ImageView) …
Run Code Online (Sandbox Code Playgroud)

android view custom-component android-layout

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

我可以在自定义ViewGroup中获取onBackPressed事件吗?

我正在创建一个自定义Android组件,有时需要使用onBackPressed事件(例如,在自定义ViewGroup中有一个弹出菜单,如果它显示,后退按钮事件关闭它并被消耗,否则它被忽略).那可能吗?我可以从我的ViewGroup子类中拦截此事件以及如何?

编辑:我尝试重写onKeyPreIme,因为Android文档暗示,该方法永远不会从ViewGroup中调用.

@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event)
{
     return true;
}
Run Code Online (Sandbox Code Playgroud)

onKeyPreIme文档中,它说:

在通过与视图层次结构关联的任何输入方法处理键事件之前处理它.这可用于在IME消耗它们之前拦截特殊情况下的关键事件; 一个典型的例子是处理BACK键来更新应用程序的UI,而不是让IME看到它并关闭它自己.

android custom-component android-layout

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

更改父容器会导致再次调用Createwnd,Delphi 6

我们有一些覆盖createwnd的旧版delphi自定义组件.这些组件位于表单内的面板上.

当表单和面板被实例化时,组件也被实例化,并且createwnd被调用一次.这是有道理的.

我很惊讶地发现,如果我在运行时切换面板的父节点,则会再次调用createwnd.

例如,在某些情况下,我可能会将Panel1的父容器更改为Form2.panel2.基本上在运行时在Form2的面板中绘制Panel1.

TForm1.buttonclick(..)
begin
..
  Panel1.parent := Form2.panel2;
..
end;
Run Code Online (Sandbox Code Playgroud)

当父级更改时,为什么要重新创建Panel1中的自定义组件?

并且Panel1中的所有组件的行为都是相同的,即使是非自定义的组件,例如,如果我在Panel1上也有TButton,那么当父母切换时也会重新创建吗?我不认为这样做,这就是为什么我这么惊讶.

最后,如果此行为不正确,我该如何进行,以便在父容器更改时不会调用createwnd.

谢谢!

delphi parent owner custom-component

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

以正确的方式制作自定义wordpress页面

我需要使用wordpress在网站上制作一些自定义页面.这包括:

将表添加到数据库中创建一个页面,根据提交的表单向新表添加条目,从而生成以结构化方式显示这些值的页面.

我需要的:

  • 要了解如何将此页面包含在现有布局(标题等..)并有权访问用户会话,((自定义页面模板??))
  • 要了解从自定义页面访问自定义数据库表的正确方法,请记住第1点,

我过去已经做过这样的事情,但鉴于我几乎没有使用wordpress的经验,我为那些额外的表构建了一个自定义的mysqli连接.此外,会话集成等以非正确的方式包含在内.这次我想以正确的方式做事.

样本表:

cabinets

| id | lenght | height | width |
  1      1200    3000     300
  2      1200    2800     600
Run Code Online (Sandbox Code Playgroud)

php wordpress mysqli custom-component

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

在文件选择器中更改附件组件的位置

我在更改文件选择器中附件组件的位置时遇到问题.

我通过在文件选择器的附件组件中放置一个复选框来自定​​义保存文件对话框.但是复选框的位置不好,真的很难看.

我可以将附件组件移动到文件窗格下面吗?怎么做?

或者,如果您有其他解决方案来做同样的事情,也欢迎.

感谢你们.

我使用以下代码添加复选框:

JFileChooser fc = new JFileChooser(file)
JPanel accessory = new JPanel();
JCheckBox isOpenBox = new JCheckBox("Open file after saving");
accessory.setLayout(new BorderLayout());
accessory.add(isOpenBox, BorderLayout.SOUTH);
fc.setAccessory(accessory);
Run Code Online (Sandbox Code Playgroud)

在此屏幕截图中,复选框的位置不佳.

在此输入图像描述

这个截图是我想要的确切效果.

在此输入图像描述

java swing jfilechooser custom-component jcheckbox

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

自定义java Swing组件Model,UIDelegate,组件格式

我被赋予了创建自定义swing组件的任务.我的组件在测试应用程序中正常运行,其中包括用于放大和缩小Image的JSlider.但是我需要以Model,UIDelegate和Component类格式呈现我的自定义组件,我完全迷失了如何转换我的代码以使其遵循这种格式.这是我的测试应用程序的代码.

package test;

import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;

import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.event.*;

import java.io.File;
import java.net.URL;

import javax.imageio.ImageIO;

public class ZoomDemo extends JComponent implements ChangeListener {

JPanel gui;
/**
 * Displays the image.
 */
JLabel imageCanvas;
Dimension size;
double scale = 1.0;
private BufferedImage image;

public ZoomDemo() {
    size = new Dimension(10, 10);
    setBackground(Color.black);
    try {
         image = ImageIO.read(new File("car.jpg"));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

public void setImage(Image image) {
    imageCanvas.setIcon(new ImageIcon(image));
}

public …
Run Code Online (Sandbox Code Playgroud)

java model-view-controller swing custom-component

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

在这种情况下,XIB中的File所有者是什么?

我已经搜索了类似的问题很长一段时间,其中大部分提到了UIViewController的xib内容. 我试图为我的自定义viewController模型添加一个xib文件,并发现它的Xib文件所有者应该是我的自定义viewController模型的类 - 这是合理的.但是当我为我的UIView模型创建一个xib时,为什么情况会有所不同 - 如下所示:

我创建了名为"KWView"(KWView.h和KWView.m)的UIView模型然后我为这个模型创建了xib,初始化它

 KWView *oneView = [[[NSBundle mainBundle] loadNibNamed:@"KWView" owner:nil options:nil ]lastObject];
Run Code Online (Sandbox Code Playgroud)

这个Xib的文件所有者名称是"NSObject" (然后我尝试任何其他更多,无论我选择什么,它运行顺利),在那里,我选择视图的自定义类作为"KWView"[这个xib名为"KWView.xib"]

问题是:

1.无论我更改我的自定义视图的Xib文件的所有者名称,它都有效.如果是这样,这个文件的所有者在这里做了什么工作,或者说,为什么会发生这种情况?

2.一般来说,我应该将自定义视图的Xib文件所有者设置为我的自定义视图的类,还是将该视图添加到的viewController类?或者只是设置它"NSObject"?

xib uiviewcontroller uiview custom-component ios

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

如何在页面上多次重用自定义Angular2组件?

我有一个名为employee的简单Angular2组件,它根据其属性的值填充并返回HTML模板.例如

如果我使用,在我的index.html中 - 它将调用我的employeeComponent,它将从数据库中获取基于属性id(在本例中为"123")的数据并填充html模板.让我们说,出于简单的原因,它填充该员工的名称并返回类似的内容

{{员工姓名}}

.

这是第一次工作正常,我调用组件,并在后续调用它不显示任何错误,也不渲染

<employee id="123"></employee>
<employee id="121"></employee>
<employee id="122"></employee>
Run Code Online (Sandbox Code Playgroud)

我想要灵活性,我不想限制标签数量.由于这是一个'视图组件',我不希望它被限制在main/app组件中.我想要纯粹的视图可重用性.

employee.component.ts

import {Component,  ElementRef}  from 'angular2/core';


@Component({
    selector: 'employee',   
    template: '{{id}}'
})

export class EmployeeComponent {
     id: number;
     name : string;

    constructor(elm: ElementRef){
         this.id = elm.nativeElement.getAttribute('id');
         console.log(elm.nativeElement);
    }

}
Run Code Online (Sandbox Code Playgroud)

的index.html

 <employee id="123"></employee>
  <employee id="121"></employee>
  <employee id="122"></employee>
Run Code Online (Sandbox Code Playgroud)

main.ts

import {bootstrap}    from 'angular2/platform/browser';
import {AppComponent} from './app.component';
import {EmployeeComponent} from './employee.component';

bootstrap(AppComponent);
bootstrap(EmployeeComponent);
Run Code Online (Sandbox Code Playgroud)

有什么帮助可以解决这个问题?

custom-component angular

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