我有一堆这种格式的字符串:
Barry's Restaurant 100 East Main Street
Run Code Online (Sandbox Code Playgroud)
我想将字符串分成两部分:
Barry's Restaurant
100 East Main Street
Run Code Online (Sandbox Code Playgroud)
所以,我需要在第一次出现整数(街道地址)时拆分字符串.任何帮助表示赞赏,谢谢
所以,我让用户在我的应用上登录他们的Google+帐户.现在我可以获取他们的个人资料网址和显示名称.我现在要做的就是收到他们的电子邮件.我不确定如何获取这些信息.我没有添加范围https://www.googleapis.com/auth/plus.profile.emails.read,它在我登录时成功请求我允许访问我的电子邮件.我现在只是不确定如何检索用户电子邮件.
对于用户名,我这样做:
String currentPersonName = mPlusClient.getCurrentPerson().getDisplayName();
基本上我想要做的是这样的事情:
String currentPersonEmail = mPlusClient.getCurrentPerson().getEmail();
但显然这不是正确的方法.有谁知道如何收到电子邮件?谢谢.
所以,我在Java中保存XML数据.我允许用户选择路径和名称.现在,如果文件已经存在,我想用一条消息提示它们:"你想覆盖当前文件吗?" 无论如何我能做到吗?谢谢
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setApproveButtonText("Save");
chooser.setDialogTitle("Save");
FileFilter filter = new FileNameExtensionFilter("XML File",
new String[] { "xml" });
chooser.setFileFilter(filter);
chooser.addChoosableFileFilter(filter);
int r = chooser.showOpenDialog(this);
if (r == JFileChooser.APPROVE_OPTION) {
try {
JAXBContext jaxbContext = JAXBContext.newInstance(Shapes.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
File XMLfile = new File(chooser.getSelectedFile().toString()
+ ".xml");
jaxbMarshaller.marshal(myShapes, XMLfile);
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我使用以下代码将JTextArea添加到我的JPanel:
commentTextArea.setLineWrap(true);
commentTextArea.setWrapStyleWord(true);
commentTextArea.setVisible(true);
this.add(commentTextArea);
commentTextArea.setBounds(0, 0, 100, 100);
//commentTextArea.setLocation(0, 0);
Run Code Online (Sandbox Code Playgroud)
每当我使用setLocation(0,0)时,JTextArea都不会移动.它始终位于屏幕的顶部中间,而不是(0,0).setBounds(0,0,100,100)也是如此,但高度和宽度都是这样设置的,而不是位置.为什么是这样?
完整代码
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class UMLEditor {
public static void main(String[] args) {
JFrame frame = new UMLWindow();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(30, 30, 1000, 700);
frame.getContentPane().setBackground(Color.white);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
class UMLWindow extends JFrame {
Canvas canvas = new Canvas();
private static final long serialVersionUID = 1L;
public UMLWindow() {
addMenus();
}
public …Run Code Online (Sandbox Code Playgroud) 因此,我正在尝试为矩形实现“拖动以调整大小”功能。
因此,我想要的是当用户将鼠标悬停在矩形的右下角时,将光标更改为双向箭头。(就像您调整Chrome的大小一样)我不确定如何执行此操作。
这是该程序的简化版本,仅在屏幕中央添加一个正方形。有人对我如何实现此目标有任何想法吗?谢谢
更新资料
我几乎拥有它,但是当我在矩形的右上角时,光标也在改变。我只需要它在右下角时才需要。我究竟做错了什么?谢谢!
public void mouseMoved(MouseEvent e) {
int mouseX = e.getX();
int mouseY = e.getY();
Path2D hitShape = null;
for (Path2D shape : shapes) {
Rectangle bounds = shape.getBounds();
if (mouseY >= bounds.y && mouseY <= bounds.y + getHeight()) {
int lowerX = bounds.x + bounds.width - 2;
int upperX = lowerX + 4;
if (mouseX >= lowerX && mouseX <= upperX) {
hitShape = shape;
System.out.println("Hit");
Cursor cursor = Cursor
.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR);
setCursor(cursor);
break;
} …Run Code Online (Sandbox Code Playgroud) 我正试图在对话框后面调暗/模糊背景.过去,我使用过这段代码:
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
Run Code Online (Sandbox Code Playgroud)
但是正如这个问题所述,WindowManager.LayoutParams.FLAG_BLUR_BEHIND标志现在从API 14开始被弃用.有没有办法可以调暗对话框的背景而不使用这个标志?谢谢