请编写代码,实现TextView、Edittext、Button、ImageButton、CheckBox、RadioButton、Spinner和ListView的界面显示,并完成对Button、ImageButton、RadioButton、Spinner和ListView的鼠标监听事件
时间: 2023-11-12 21:51:03 浏览: 175
Android实现TextView部分文本监听单击事件
为了方便起见,我将使用JavaFX框架来实现这个界面。以下是一个简单的示例代码:
```java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.*;
import javafx.stage.Stage;
public class UIExample extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// 创建一个垂直布局
VBox root = new VBox();
root.setAlignment(Pos.CENTER);
root.setSpacing(10);
// 创建一个TextView
Label textView = new Label("TextView");
textView.setStyle("-fx-font-size: 16pt;");
// 创建一个EditText
TextField editText = new TextField();
editText.setPrefWidth(300);
// 创建一个Button
Button button = new Button("Button");
button.setPrefWidth(100);
button.setOnAction(event -> {
System.out.println("Button clicked!");
});
// 创建一个ImageButton
Image image = new Image("https://via.placeholder.com/50");
ImageView imageView = new ImageView(image);
Button imageButton = new Button("", imageView);
imageButton.setPrefWidth(50);
imageButton.setOnAction(event -> {
System.out.println("ImageButton clicked!");
});
// 创建一个CheckBox
CheckBox checkBox = new CheckBox("CheckBox");
checkBox.setOnAction(event -> {
System.out.println("CheckBox state changed: " + checkBox.isSelected());
});
// 创建一个RadioButton
RadioButton radioButton1 = new RadioButton("RadioButton1");
RadioButton radioButton2 = new RadioButton("RadioButton2");
ToggleGroup radioGroup = new ToggleGroup();
radioButton1.setToggleGroup(radioGroup);
radioButton2.setToggleGroup(radioGroup);
radioGroup.selectedToggleProperty().addListener((observable, oldValue, newValue) -> {
RadioButton selectedRadio = (RadioButton) newValue;
System.out.println("RadioButton selected: " + selectedRadio.getText());
});
// 创建一个Spinner
Spinner<Integer> spinner = new Spinner<>(0, 10, 5);
spinner.valueProperty().addListener((observable, oldValue, newValue) -> {
System.out.println("Spinner value changed: " + newValue);
});
// 创建一个ListView
ListView<String> listView = new ListView<>();
listView.getItems().addAll("Item 1", "Item 2", "Item 3");
listView.setOnMouseClicked(event -> {
String selectedItem = listView.getSelectionModel().getSelectedItem();
System.out.println("ListView item selected: " + selectedItem);
});
// 将所有控件添加到布局中
root.getChildren().addAll(textView, editText, button, imageButton, checkBox, radioButton1, radioButton2, spinner, listView);
root.setPadding(new Insets(10));
// 创建一个场景并显示
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.setTitle("UI Example");
primaryStage.show();
}
}
```
在这个示例代码中,我们创建了一个垂直布局,并向其中添加了TextView、EditText、Button、ImageButton、CheckBox、RadioButton、Spinner和ListView控件。我们还为Button、ImageButton、RadioButton、Spinner和ListView添加了鼠标监听事件,当用户点击它们时,它们会触发相应的事件处理程序。
阅读全文